Class TextMetaDataExtractingProcessor

  • All Implemented Interfaces:
    ItemProcessor

    public class TextMetaDataExtractingProcessor
    extends Object
    implements ItemProcessor
    ItemProcessor that extracts single text values from descriptor XPath-selected nodes and sets them as the properties of the item. All XPath queries should only return single nodes. For extracting values for a list of nodes use TextMetaDataCollectionExtractingProcessor.
    Author:
    Sumer Jabri, Alfonso Vásquez
    • Field Detail

      • metaDataNodesXPathQueries

        protected String[] metaDataNodesXPathQueries
        Array of XPath queries for the nodes whose values should be extracted.
    • Constructor Detail

      • TextMetaDataExtractingProcessor

        @ConstructorProperties("metaDataNodesXPathQueries")
        public TextMetaDataExtractingProcessor​(String... metaDataNodesXPathQueries)
        Default constructor. Sets the metaDataNodesXPathQueries to the provided argument.
    • Method Detail

      • process

        public Item process​(Context context,
                            CachingOptions cachingOptions,
                            Item item)
        For every XPath query provided in metaDataNodesXPathQueries, a single node is selected and its text value is extracted and put in the item's properties.
        Specified by:
        process in interface ItemProcessor
        Parameters:
        context - the current context
        cachingOptions - caching options in case you need access to items
        item - the item to process
        Returns:
        the modified item or a new item.
      • equals

        public boolean equals​(Object o)
        Returns true if the specified TextMetaDataExtractingProcessor's and this instance's metaDataNodesXPathQueries are equal.
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Returns the hash code for this instance, which is basically hash code of the list of XPath queries. As with any other ItemProcessor, this method is defined because any processor which is passed in the method call of a ContentStoreService can be used as part of a key for caching.
        Overrides:
        hashCode in class Object