Class SearchResultToAttrValueList

  • All Implemented Interfaces:
    org.apache.commons.collections.Transformer, org.springframework.beans.factory.InitializingBean

    public class SearchResultToAttrValueList
    extends Object
    implements org.apache.commons.collections.Transformer, org.springframework.beans.factory.InitializingBean
    Extracts the value of the token tokenName from the attribute attributeName. Ignores attribute value if value is not of type String. Returns the entire attribute value if tokenName is not specified.

    Note: This transformer can produce more than one output (in the form of a collection) per single input. Any client of this class should merge the results (e.g. collection.addAll(collection)) into an existing collection.

    Transformer input: SearchResult instance

    Transformer output: Collection of String instances

    TODO refactor into searchresulttoattributelist, attributelisttosingleattribute, attributestringtoattributesubstring
    Author:
    mlowery
    • Constructor Detail

      • SearchResultToAttrValueList

        public SearchResultToAttrValueList​(String attributeName)
      • SearchResultToAttrValueList

        public SearchResultToAttrValueList​(String attributeName,
                                           String tokenName)
    • Method Detail

      • extract

        protected String extract​(String src,
                                 String inTokenName)
        Assumes that src consists of name-value pairs linked via '=' and each pair separated by ','.
        Parameters:
        src - the source string
        inTokenName - the name part of the name-value pair whose value will be returned
        Returns:
        the value part of the name-value pair whose name part is tokenName
      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws Exception
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Throws:
        Exception
      • transform

        public Object transform​(Object obj)
        Specified by:
        transform in interface org.apache.commons.collections.Transformer