Class ConditionalProcessor<K,​V,​T>

    • Constructor Detail

      • ConditionalProcessor

        public ConditionalProcessor()
        Default constructor (necessary for the ExternalizableLite interface).
      • ConditionalProcessor

        public ConditionalProcessor​(Filter<V> filter,
                                    InvocableMap.EntryProcessor<K,​V,​T> processor)
        Construct a ConditionalProcessor for the specified filter and the processor.

        The specified entry processor gets invoked if and only if the filter applied to the InvocableMap entry evaluates to true; otherwise the result of the process(com.tangosol.util.InvocableMap.Entry<K, V>) invocation will return null.

        Parameters:
        filter - the filter
        processor - the entry processor
    • Method Detail

      • processAll

        public Map<K,​T> processAll​(Set<? extends InvocableMap.Entry<K,​V>> setEntries)
        Process a Set of InvocableMap.Entry objects. This method is semantically equivalent to:
           Map mapResults = new ListMap();
           for (Iterator iter = setEntries.iterator(); iter.hasNext(); )
               {
               Entry entry = (Entry) iter.next();
        
              if (InvocableMapHelper.evaluateEntry(filter, entry))
                  {
                  mapResults.put(entry.getKey(), processor.process(entry));
                  }
               }
           return mapResults;
         

        Note: if processAll() call throws an exception, only the entries that were removed from the setEntries would be considered successfully processed and the corresponding changes made to the underlying Map; changes made to the remaining entries or any other entries obtained from BackingMapContext.getBackingMapEntry(java.lang.Object) will not be processed.

        Specified by:
        processAll in interface InvocableMap.EntryProcessor<K,​V,​T>
        Overrides:
        processAll in class AbstractProcessor<K,​V,​T>
        Parameters:
        setEntries - a Set of InvocableMap.Entry objects to process
        Returns:
        a Map containing the results of the processing, up to one entry for each InvocableMap.Entry that was processed, keyed by the keys of the Map that were processed, with a corresponding value being the result of the processing for each key
      • equals

        public boolean equals​(Object o)
        Compare the ConditionalProcessor with another object to determine equality.
        Overrides:
        equals in class Object
        Returns:
        true iff this ConditionalProcessor and the passed object are equivalent ConditionalProcessors
      • hashCode

        public int hashCode()
        Determine a hash value for the ConditionalProcessor object according to the general Object.hashCode() contract.
        Overrides:
        hashCode in class Object
        Returns:
        an integer hash value for this ConditionalProcessor object
      • toString

        public String toString()
        Return a human-readable description for this ConditionalProcessor.
        Overrides:
        toString in class Object
        Returns:
        a String description of the ConditionalProcessor
      • readExternal

        public void readExternal​(DataInput in)
                          throws IOException
        Restore the contents of this object by loading the object's state from the passed DataInput object.
        Specified by:
        readExternal in interface ExternalizableLite
        Parameters:
        in - the DataInput stream to read data from in order to restore the state of this object
        Throws:
        IOException - if an I/O exception occurs
        NotActiveException - if the object is not in its initial state, and therefore cannot be deserialized into
      • writeExternal

        public void writeExternal​(DataOutput out)
                           throws IOException
        Save the contents of this object by storing the object's state into the passed DataOutput object.
        Specified by:
        writeExternal in interface ExternalizableLite
        Parameters:
        out - the DataOutput stream to write the state of this object to
        Throws:
        IOException - if an I/O exception occurs
      • readExternal

        public void readExternal​(PofReader in)
                          throws IOException
        Restore the contents of a user type instance by reading its state using the specified PofReader object.
        Specified by:
        readExternal in interface PortableObject
        Parameters:
        in - the PofReader from which to read the object's state
        Throws:
        IOException - if an I/O error occurs
      • writeExternal

        public void writeExternal​(PofWriter out)
                           throws IOException
        Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
        Specified by:
        writeExternal in interface PortableObject
        Parameters:
        out - the PofWriter to which to write the object's state
        Throws:
        IOException - if an I/O error occurs