## Uses of Interface
org.apache.tapestry5.plastic.PlasticMethod

- Packages that use PlasticMethod
  Package | Description
  --- | ---
  org.apache.tapestry5.internal.plastic | [INTERNAL USE ONLY] Plastic implementation details; API subject to change
  org.apache.tapestry5.plastic | Plastic, Tapestry's component class transformation library based on ASM

- - ### Uses of PlasticMethod in org.apache.tapestry5.internal.plastic

    Methods in org.apache.tapestry5.internal.plastic that return PlasticMethod
    Modifier and Type | Method | Description
    --- | --- | ---
    `PlasticMethod` | PlasticClassImpl.`introduceMethod​(java.lang.reflect.Method method)` |
    `PlasticMethod` | PlasticClassImpl.`introduceMethod​(MethodDescription description)` |
    `PlasticMethod` | PlasticClassImpl.`introduceMethod​(MethodDescription description, InstructionBuilderCallback callback)` |
    `PlasticMethod` | PlasticClassImpl.`introducePrivateMethod​(java.lang.String typeName, java.lang.String suggestedName, java.lang.String[] argumentTypes, java.lang.String[] exceptionTypes)` |

    Methods in org.apache.tapestry5.internal.plastic that return types with arguments of type PlasticMethod
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.List<PlasticMethod>` | PlasticClassImpl.`getMethods()` |
    `<T extends java.lang.annotation.Annotation> java.util.List<PlasticMethod>` | PlasticClassImpl.`getMethodsWithAnnotation​(java.lang.Class<T> annotationType)` |
    `java.util.Set<PlasticMethod>` | PlasticClassImpl.`introduceInterface​(java.lang.Class interfaceType)` |

    Methods in org.apache.tapestry5.internal.plastic with parameters of type PlasticMethod
    Modifier and Type | Method | Description
    --- | --- | ---
    `InstructionBuilder` | InstructionBuilderImpl.`invokeVirtual​(PlasticMethod method)` |
    `PlasticClass` | PlasticClassImpl.`proxyInterface​(java.lang.Class interfaceType, PlasticMethod method)` |

  - ### Uses of PlasticMethod in org.apache.tapestry5.plastic

    Methods in org.apache.tapestry5.plastic that return PlasticMethod
    Modifier and Type | Method | Description
    --- | --- | ---
    `PlasticMethod` | PlasticMethod.`addAdvice​(MethodAdvice advice)` | Adds advice to the method.
    `PlasticMethod` | PlasticMethod.`changeImplementation​(InstructionBuilderCallback callback)` | Clears the instructions for this method, and creates a new empty InstructionBuilder so that the implementation of the method can be specified.
    `PlasticMethod` | PlasticMethod.`delegateTo​(PlasticField field)` | Changes the implementation of the method to delegate to the provided field.
    `PlasticMethod` | PlasticMethod.`delegateTo​(PlasticMethod method)` | Much like `delegateTo(PlasticField)`, but the object to delegate to is dynamically computed by another method of the class.
    `PlasticMethod` | PlasticClass.`introduceMethod​(java.lang.reflect.Method method)` | A convenience that creates a `MethodDescription` from the Method and introduces that.
    `PlasticMethod` | PlasticClass.`introduceMethod​(MethodDescription description)` | Returns an existing method declared in this class, or introduces a new method into this class.
    `PlasticMethod` | PlasticClass.`introduceMethod​(MethodDescription description, InstructionBuilderCallback callback)` | Returns an existing method declared in this class, or introduces a new method into this class.
    `PlasticMethod` | PlasticClass.`introducePrivateMethod​(java.lang.String typeName, java.lang.String suggestedName, java.lang.String[] argumentTypes, java.lang.String[] exceptionTypes)` | Introduces a new private method into the class, ensuring that the method name is unique.

    Methods in org.apache.tapestry5.plastic that return types with arguments of type PlasticMethod
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.List<PlasticMethod>` | PlasticClass.`getMethods()` | Returns all methods of the class, in sorted order.
    `<T extends java.lang.annotation.Annotation> java.util.List<PlasticMethod>` | PlasticClass.`getMethodsWithAnnotation​(java.lang.Class<T> annotationType)` | Matches methods with the given annotation.
    `java.util.Set<PlasticMethod>` | PlasticClass.`introduceInterface​(java.lang.Class interfaceType)` | Introduces each method defined by the interface into the class.

    Methods in org.apache.tapestry5.plastic with parameters of type PlasticMethod
    Modifier and Type | Method | Description
    --- | --- | ---
    `PlasticMethod` | PlasticMethod.`delegateTo​(PlasticMethod method)` | Much like `delegateTo(PlasticField)`, but the object to delegate to is dynamically computed by another method of the class.
    `InstructionBuilder` | InstructionBuilder.`invokeVirtual​(PlasticMethod method)` |
    `PlasticClass` | PlasticClass.`proxyInterface​(java.lang.Class interfaceType, PlasticMethod method)` | Introduces the interface, and then invokes `delegateTo(PlasticMethod)` on each method defined by the interface.