Class VersionedPut<K,​V extends Versionable>

    • Field Detail

      • m_oValue

        protected V extends Versionable m_oValue
        Specifies the new value to update an entry with.
      • m_fInsert

        protected boolean m_fInsert
        Specifies whether or not an insert is allowed.
      • m_fReturn

        protected boolean m_fReturn
        Specifies whether or not a return value is required.
    • Constructor Detail

      • VersionedPut

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

        public VersionedPut​(V oValue)
        Construct a VersionedPut that updates an entry with a new value if and only if the version of the new value matches to the version of the current entry's value (which must exist). The result of the process(com.tangosol.util.InvocableMap.Entry<K, V>) invocation does not return any result.
        Parameters:
        oValue - a Versionable value to update an entry with
      • VersionedPut

        public VersionedPut​(V oValue,
                            boolean fAllowInsert,
                            boolean fReturn)
        Construct a VersionedPut that updates an entry with a new value if and only if the version of the new value matches to the version of the current entry's value. This processor optionally returns the current value as a result of the invocation if it has not been updated (the versions did not match).
        Parameters:
        oValue - a value to update an entry with
        fAllowInsert - specifies whether or not an insert should be allowed (no currently existing value)
        fReturn - specifies whether or not the processor should return the current value in case it has not been updated
    • Method Detail

      • processAll

        public Map<K,​V> 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();
               mapResults.put(entry.getKey(), 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. Note: As of Coherence 12.2.1, this method simply delegates to the default processAll implementation in InvocableMap.EntryProcessor.

        Specified by:
        processAll in interface InvocableMap.EntryProcessor<K,​V extends Versionable,​V extends Versionable>
        Overrides:
        processAll in class AbstractProcessor<K,​V extends Versionable,​V extends Versionable>
        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 VersionedPut with another object to determine equality.
        Overrides:
        equals in class Object
        Returns:
        true iff this VersionedPut and the passed object are equivalent VersionedPut
      • hashCode

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

        public String toString()
        Return a human-readable description for this VersionedPut.
        Overrides:
        toString in class Object
        Returns:
        a String description of the VersionedPut
      • 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
      • processEntry

        protected Object processEntry​(InvocableMap.Entry<K,​V> entry,
                                      V oValueNew,
                                      boolean fInsert,
                                      boolean fReturn)
        Process the given entry.
        Parameters:
        entry - entry the entry to be processed
        oValueNew - the new value
        fInsert - specifies whether or not an insert is allowed
        fReturn - specifies whether or not a return value is required
        Returns:
        the result of processing the entry; can be NO_RESULT