Plastic, Tapestry's component class transformation library based on ASM
Interface Summary Interface Description AnnotationAccessInterface 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. ConstructorCallbackSupplies construction-time logic for the class' constructor. FieldConduit<T>A
FieldConduitis an object that effectively replaces the field in the instantiated object.
FieldHandleAllows read/write access directly to a field (bypassing accessors). InstanceContextDefines per-instance context values for a transformed PlasticClass. InstructionBuilderSimplifies 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. InstructionBuilderCallbackUsed in various places to allow some code to be constructed under controlled circumstances. LocalVariableVariable available inside a
LocalVariableCallbackA callback for generating code where a local variable is in effect. MethodAdviceMethodAdvice is a special callback that is threaded into the implementation of a method. MethodHandleSimiliar to
Method, this allows a method of a Plastic class to be invoked regardless of visibility.
MethodInvocationA 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. MethodInvocationResultThe result of a method invocation, which encapsulates the actual return value (if any), as well as any checked exception. MethodParameterAccess to the parameters of a method, in particular, any visible annotations on that method. PlasticClassThe representation of a class while it is being instrumented and transformed. PlasticClassEventDescribes a transformed class about to be loaded. PlasticClassListenerAllows a listener to be notified about classes about to be loaded by the manager's class loader. PlasticClassListenerHubMethods for adding and removing
PlasticClassTransformation<T>A wrapper around a
PlasticClassthat allows the class to be converted into a concrete class, once all transformations are complete.
PlasticClassTransformerInterface for defining how a
PlasticFieldRepresents a field of a class being transformed. PlasticManagerDelegateDelegate to the
PlasticManagerthat performs the actual transformations of the class.
PlasticMethodA method of a transformed class. SwitchBlockSupport for building the equivalent of a Java switch statement. SwitchCallbackA callback used by a
SwitchBlockto manage the generation of code.
TryCatchBlockAllows a portion of a method to be marked so that exception and finally handlers can be provided. TryCatchCallbackA callback used with
WhenCallback WhileCallbackCallback used with
Class Summary Class Description MethodDescriptionDescribes a
PlasticMethodin 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 PlasticManagerManages the internal class loaders and other logics necessary to load and transform existing classes, or to create new classes dynamically at runtime. PlasticManager.PlasticManagerBuilderA builder object for configuring the PlasticManager before instantiating it. PlasticUtilsUtilities for user code making use of Plastic.
Enum Summary Enum Description ClassTypeIdentifies the type of class referenced in a
ConditionCondition used with
PropertyAccessTypeUsed 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). TransformationOptionOptions used when transforming classes.
Annotation Types Summary Annotation Type Description Opcodes