Package org.apache.tapestry5.internal.plastic

## Class PlasticClassHandleShim

- java.lang.Object
- - org.apache.tapestry5.internal.plastic.PlasticClassHandleShim

-     public abstract class PlasticClassHandleShim
      extends java.lang.Object

  The interface for a "shim" class that provides the necessary hooks needed by `FieldHandle` and `MethodHandle` implementations for a particular, instantiated `PlasticClass`.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PlasticClassHandleShim()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `get​(java.lang.Object instance, int fieldIndex)` | Gets the field at the given index.
    `MethodInvocationResult` | `invoke​(java.lang.Object instance, int methodIndex, java.lang.Object[] arguments)` | Invokes a method.
    `void` | `set​(java.lang.Object instance, int fieldIndex, java.lang.Object newValue)` | Sets the value of a field.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PlasticClassHandleShim

          public PlasticClassHandleShim()

  - ### Method Detail

    - #### get

          public java.lang.Object get​(java.lang.Object instance,
                                      int fieldIndex)

      Gets the field at the given index.
      Parameters:
        `instance` - object to read instance field from
        `fieldIndex` - assigned index for the field
      Returns:
        the field's value
      See Also:
        `FieldHandle.get(Object)`

    - #### set

          public void set​(java.lang.Object instance,
                          int fieldIndex,
                          java.lang.Object newValue)

      Sets the value of a field.
      Parameters:
        `instance` - object to update instance field in
        `fieldIndex` - assigned index for the field
        `newValue` - new value for field
      See Also:
        `FieldHandle.set(Object, Object)`

    - #### invoke

          public MethodInvocationResult invoke​(java.lang.Object instance,
                                               int methodIndex,
                                               java.lang.Object[] arguments)

      Invokes a method.
      Parameters:
        `instance` - object to invoke a method upon
        `methodIndex` - assigned index for the method
        `arguments` - arguments to pass to the method
      Returns:
        result of invoking the method