Package org.apache.tapestry5.plastic
Plastic, Tapestry's component class transformation library based on ASM
-
Interface Summary Interface Description AnnotationAccess Interface implemented by members that may hold annotations.ClassInstantiator<T> The end result of a class transformation is a ClassInstantiator that can be used to instantiate an instance of the transformed class.ComputedValue<T> Provides an indirect, or computed, value.ConstructorCallback Supplies construction-time logic for the class' constructor.FieldConduit<T> AFieldConduit
is an object that effectively replaces the field in the instantiated object.FieldHandle Allows read/write access directly to a field (bypassing accessors).InstanceContext Defines per-instance context values for a transformed PlasticClass.InstructionBuilder Simplifies the generation of method instructions for a particular method (or constructor), allowing bytecode to be created with a friendlier API that focuses on Java type names (names as they would appear in Java source) rather than JVM descriptors or internal names.InstructionBuilderCallback Used in various places to allow some code to be constructed under controlled circumstances.LocalVariable Variable available inside aLocalVariableCallback
.LocalVariableCallback A callback for generating code where a local variable is in effect.MethodAdvice MethodAdvice is a special callback that is threaded into the implementation of a method.MethodHandle Similiar toMethod
, this allows a method of a Plastic class to be invoked regardless of visibility.MethodInvocation A representation of the invocation of a method that allows the behavior of the method to be advised: either by changing parameter values, or by changing the return value, or by catch or throwing different exceptions.MethodInvocationResult The result of a method invocation, which encapsulates the actual return value (if any), as well as any checked exception.MethodParameter Access to the parameters of a method, in particular, any visible annotations on that method.PlasticClass The representation of a class while it is being instrumented and transformed.PlasticClassEvent Describes a transformed class about to be loaded.PlasticClassListener Allows a listener to be notified about classes about to be loaded by the manager's class loader.PlasticClassListenerHub Methods for adding and removingPlasticClassListener
s .PlasticClassTransformation<T> A wrapper around aPlasticClass
that allows the class to be converted into a concrete class, once all transformations are complete.PlasticClassTransformer Interface for defining how aPlasticClass
is transformed.PlasticField Represents a field of a class being transformed.PlasticManagerDelegate Delegate to thePlasticManager
that performs the actual transformations of the class.PlasticMethod A method of a transformed class.SwitchBlock Support for building the equivalent of a Java switch statement.SwitchCallback A callback used by aSwitchBlock
to manage the generation of code.TryCatchBlock Allows a portion of a method to be marked so that exception and finally handlers can be provided.TryCatchCallback A callback used withInstructionBuilder.startTryCatch(TryCatchCallback)
.WhenCallback WhileCallback Callback used withInstructionBuilder.doWhile(Condition, WhileCallback)
. -
Class Summary Class Description MethodDescription Describes aPlasticMethod
in terms of a method name, a set of modifiers (public, private, static, final, etc.), a return type, types of method arguments, and types of checked exceptions.PlasticConstants PlasticManager Manages the internal class loaders and other logics necessary to load and transform existing classes, or to create new classes dynamically at runtime.PlasticManager.PlasticManagerBuilder A builder object for configuring the PlasticManager before instantiating it.PlasticUtils Utilities for user code making use of Plastic. -
Enum Summary Enum Description ClassType Identifies the type of class referenced in aPlasticClassEvent
.Condition Condition used withInstructionBuilder.when(Condition, WhenCallback)
.PropertyAccessType Used when converting a field into a property (that is, adding accessor methods for the field) to identify which method(s) to create (a getter to access the value and/or a mutator to modify the value).TransformationOption Options used when transforming classes. -
Annotation Types Summary Annotation Type Description Opcodes Used to document theInstructionBuilder
andTryCatchBlock