Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-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, Serializable, 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 Object[]` | `m_aoParam` The parameter array.
`protected 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(String sMethod)` Construct a ReflectionExtractor based on a method name.
`ReflectionExtractor(String sMethod, Object[] aoParam)` Construct a ReflectionExtractor based on a method name and optional parameters.
`ReflectionExtractor(String sMethod, Object[] aoParam, int nTarget)` Construct a ReflectionExtractor based on a method name, optional parameters and the entry extraction target.

Method Summary
`boolean` | `equals(Object o)` Compare the ReflectionExtractor with another object to determine equality.
`Object` | `extract(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`.
`String` | `getMethodName()` Determine the name of the method that this extractor is configured to invoke.
`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(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.
`String` | `toString()` Provide a human-readable description of this ReflectionExtractor object.
`void` | `writeExternal(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, extractOriginalFromEntry`

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 String m_sMethod

  The name of the method to invoke.

### m_aoParam

    protected Object[] m_aoParam

  The parameter array.

Constructor Detail

### ReflectionExtractor

    public ReflectionExtractor()

  Default constructor (necessary for the ExternalizableLite interface).

### ReflectionExtractor

    public ReflectionExtractor(String sMethod)

  Construct a ReflectionExtractor based on a method name.
  Parameters:
    `sMethod` - the name of the method to invoke via reflection

### ReflectionExtractor

    public ReflectionExtractor(String sMethod,
                               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(String sMethod,
                               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 Object extract(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(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 `Comparator`
  Parameters:
    `o` - the reference object with which to compare
  Returns:
    true iff this ReflectionExtractor and the passed object are equivalent ReflectionExtractors
  See Also:
    `Object.equals(java.lang.Object)`, `Object.hashCode()`

### 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 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 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 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(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

Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.