Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.util.extractor
Class ReflectionExtractor

    java.lang.Object
      com.tangosol.util.Base
          com.tangosol.util.BitHelper
              com.tangosol.util.ExternalizableHelper
                  com.tangosol.util.extractor.AbstractExtractor
                      com.tangosol.util.extractor.ReflectionExtractor

All Implemented Interfaces:
  ExternalizableLite, PortableObject, QueryMapComparator, ValueExtractor, java.io.Serializable, java.util.Comparator

    public class ReflectionExtractor

extends AbstractExtractor
implements ValueExtractor, ExternalizableLite, PortableObject

Reflection-based ValueExtractor implementation.

Author:
  cp/gg 2002.11.01, ew 2007.02.01
See Also:
  `ChainedExtractor`

Field Summary
`protected java.lang.Object[]` | `m_aoParam` The parameter array.
`protected java.lang.String` | `m_sMethod` The name of the method to invoke.

Fields inherited from class com.tangosol.util.extractor.AbstractExtractor
`KEY, m_nTarget, VALUE`

Constructor Summary
`ReflectionExtractor()` Default constructor (necessary for the ExternalizableLite interface).
`ReflectionExtractor(java.lang.String sMethod)` Construct a ReflectionExtractor based on a method name.
`ReflectionExtractor(java.lang.String sMethod, java.lang.Object[] aoParam)` Construct a ReflectionExtractor based on a method name and optional parameters.
`ReflectionExtractor(java.lang.String sMethod, java.lang.Object[] aoParam, int nTarget)` Construct a ReflectionExtractor based on a method name, optional parameters and the entry extraction target.

Method Summary
`boolean` | `equals(java.lang.Object o)` Compare the ReflectionExtractor with another object to determine equality.
`java.lang.Object` | `extract(java.lang.Object oTarget)` Extract the value from the passed object. The returned value may be null. For intrinsic types, the returned value is expected to be a standard wrapper type in the same manner that reflection works; for example, `int` would be returned as a `java.lang.Integer`.
`java.lang.String` | `getMethodName()` Determine the name of the method that this extractor is configured to invoke.
`java.lang.Object[]` | `getParameters()` Return the array of arguments used to invoke the method.
`int` | `hashCode()` Determine a hash value for the ReflectionExtractor object according to the general `Object.hashCode()` contract.
`void` | `readExternal(java.io.DataInput in)` Restore the contents of this object by loading the object's state from the passed DataInput object.
`void` | `readExternal(PofReader in)` Restore the contents of a user type instance by reading its state using the specified PofReader object.
`java.lang.String` | `toString()` Provide a human-readable description of this ReflectionExtractor object.
`void` | `writeExternal(java.io.DataOutput out)` Save the contents of this object by storing the object's state into the passed DataOutput object.
`void` | `writeExternal(PofWriter out)` Save the contents of a POF user type instance by writing its state using the specified PofWriter object.

Methods inherited from class com.tangosol.util.extractor.AbstractExtractor
`compare, compareEntries, extractFromEntry`

Methods inherited from class com.tangosol.util.BitHelper
`countBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString`

Field Detail

### m_sMethod

    protected java.lang.String m_sMethod

  The name of the method to invoke.

### m_aoParam

    protected java.lang.Object[] m_aoParam

  The parameter array.

Constructor Detail

### ReflectionExtractor

    public ReflectionExtractor()

  Default constructor (necessary for the ExternalizableLite interface).

### ReflectionExtractor

    public ReflectionExtractor(java.lang.String sMethod)

  Construct a ReflectionExtractor based on a method name.

  Parameters:
    `sMethod` - the name of the method to invoke via reflection

### ReflectionExtractor

    public ReflectionExtractor(java.lang.String sMethod,
                               java.lang.Object[] aoParam)

  Construct a ReflectionExtractor based on a method name and optional parameters.

  Parameters:
    `sMethod` - the name of the method to invoke via reflection
    `aoParam` - the array of arguments to be used in the method invocation; may be null
  Since:
    Coherence 3.3

### ReflectionExtractor

    public ReflectionExtractor(java.lang.String sMethod,
                               java.lang.Object[] aoParam,
                               int nTarget)

  Construct a ReflectionExtractor based on a method name, optional parameters and the entry extraction target.

  Parameters:
    `sMethod` - the name of the method to invoke via reflection
    `aoParam` - the array of arguments to be used in the method invocation; may be null
    `nTarget` - one of the `AbstractExtractor.VALUE` or `AbstractExtractor.KEY` values
  Since:
    Coherence 3.5

Method Detail

### extract

    public java.lang.Object extract(java.lang.Object oTarget)

  Extract the value from the passed object. The returned value may be null. For intrinsic types, the returned value is expected to be a standard wrapper type in the same manner that reflection works; for example, `int` would be returned as a `java.lang.Integer`.

  Specified by:
    `extract` in interface `ValueExtractor`
  Overrides:
    `extract` in class `AbstractExtractor`
  Parameters:
    `oTarget` - an Object to retrieve the value from
  Returns:
    the extracted value as an Object; null is an acceptable value

### equals

    public boolean equals(java.lang.Object o)

  Compare the ReflectionExtractor with another object to determine equality. Two ReflectionExtractor objects, re1 and re2 are considered equal iff `re1.extract(o)` equals `re2.extract(o)` for all values of `o`.

  Specified by:
    `equals` in interface `ValueExtractor`
  Specified by:
    `equals` in interface `java.util.Comparator`
  Parameters:
    `o` - the reference object with which to compare
  Returns:
    true iff this ReflectionExtractor and the passed object are equivalent ReflectionExtractors

### hashCode

    public int hashCode()

  Determine a hash value for the ReflectionExtractor object according to the general `Object.hashCode()` contract.

  Specified by:
    `hashCode` in interface `ValueExtractor`
  Returns:
    an integer hash value for this ReflectionExtractor object

### toString

    public java.lang.String toString()

  Provide a human-readable description of this ReflectionExtractor object.

  Specified by:
    `toString` in interface `ValueExtractor`
  Returns:
    a human-readable description of this ReflectionExtractor object

### getMethodName

    public java.lang.String getMethodName()

  Determine the name of the method that this extractor is configured to invoke.

  Returns:
    the name of the method to invoke using reflection

### getParameters

    public java.lang.Object[] getParameters()

  Return the array of arguments used to invoke the method.

  Returns:
    the array of arguments used to invoke the method

### readExternal

    public void readExternal(java.io.DataInput in)
                      throws java.io.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:
    `java.io.IOException` - if an I/O exception occurs
    `java.io.NotActiveException` - if the object is not in its initial state, and therefore cannot be deserialized into

### writeExternal

    public void writeExternal(java.io.DataOutput out)
                       throws java.io.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:
    `java.io.IOException` - if an I/O exception occurs

### readExternal

    public void readExternal(PofReader in)
                      throws java.io.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:
    `java.io.IOException` - if an I/O error occurs

### writeExternal

    public void writeExternal(PofWriter out)
                       throws java.io.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:
    `java.io.IOException` - if an I/O error occurs

Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle. All rights reserved.