Class PropertySet<T>

java.lang.Object
com.tangosol.coherence.rest.util.PropertySet<T>
All Implemented Interfaces:
CanonicallyNamed, ExternalizableLite, PortableObject, Remote.Function<T,Object>, Remote.ToDoubleFunction<T>, Remote.ToIntFunction<T>, Remote.ToLongFunction<T>, ValueExtractor<T,Object>, Serializable, Iterable<PropertySpec>, Function<T,Object>, ToDoubleFunction<T>, ToIntFunction<T>, ToLongFunction<T>

public class PropertySet<T> extends Object implements Iterable<PropertySpec>, ValueExtractor<T,Object>, ExternalizableLite, PortableObject
Represents a set of named properties and allows the extraction of those properties from a target object.

Each extracted property is returned as a PartialObject instance, which is an instance of a dynamically generated class containing only properties defined in this PropertySet.

Author:
as 2010.10.11
See Also:
  • Field Details

  • Constructor Details

    • PropertySet

      public PropertySet()
      Default constructor.
    • PropertySet

      public PropertySet(PropertySpec... aProperties)
      Construct a PropertySet instance.
      Parameters:
      aProperties - an array of property specifications
    • PropertySet

      public PropertySet(Set<PropertySpec> setProperties)
      Construct a PropertySet instance.
      Parameters:
      setProperties - a set of property specifications
  • Method Details

    • fromString

      public static PropertySet fromString(String sPropertySet)
      Create a PropertySet from its textual representation.
      Parameters:
      sPropertySet - property set descriptor
      Returns:
      property set instance
    • add

      public void add(PropertySpec property)
      Add a property to this property set.
      Parameters:
      property - property to add
    • extract

      public Collection<Object> extract(Collection<? extends T> colSource)
      Extract a collection of partial objects.
      Parameters:
      colSource - collection of source objects
      Returns:
      a collections of partial objects extracted from a source collection based on this property set
    • extract

      public Object[] extract(Object[] aSource)
      Extract an array of partial objects.
      Parameters:
      aSource - an array of source objects
      Returns:
      an array of partial objects extracted from a source array based on this property set
    • extract

      public Object extract(T source)
      Extract a partial object from a source object.
      Specified by:
      extract in interface ValueExtractor<T,Object>
      Parameters:
      source - the source object
      Returns:
      partial object extracted from a source object based on this property set
    • iterator

      public Iterator<PropertySpec> iterator()
      Return an iterator for this property set.
      Specified by:
      iterator in interface Iterable<T>
      Returns:
      iterator over the set of properties
    • 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
    • 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 reader) 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:
      reader - the PofReader from which to read the object's state
      Throws:
      IOException - if an I/O error occurs
    • writeExternal

      public void writeExternal(PofWriter writer) 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:
      writer - the PofWriter to which to write the object's state
      Throws:
      IOException - if an I/O error occurs
    • equals

      public boolean equals(Object o)
      Test equality of this object with another.
      Specified by:
      equals in interface ValueExtractor<T,Object>
      Overrides:
      equals in class Object
      Parameters:
      o - object to compare this object with
      Returns:
      true if this object is equal to the specified object
    • hashCode

      public int hashCode()
      Return hash code for this object.
      Specified by:
      hashCode in interface ValueExtractor<T,Object>
      Overrides:
      hashCode in class Object
      Returns:
      hash code
    • toString

      public String toString()
      Return string representation of this object.
      Overrides:
      toString in class Object
      Returns:
      this object as a String
    • first

      protected PropertySpec first()
      Return the first property in this PropertySet.
      Returns:
      first property in this PropertySet
    • getProperties

      protected SortedSet<PropertySpec> getProperties()
      Return the internal property set.
      Returns:
      internal property set