# Package org.apache.tapestry5.internal.plastic

[INTERNAL USE ONLY] Plastic implementation details; API subject to change

- Interface Summary
  Interface | Description
  --- | ---
  ClassLoaderDelegate | Externalizes the logic for defining which classes will be loaded (and possibly transformed) by the class loader, and which will be loaded by the parent class loader.
  InternalPlasticClassTransformation |

- Class Summary
  Class | Description
  --- | ---
  AbstractAnnotationBuilder |
  AbstractMethodInvocation |
  AnnotationBuilder |
  Cache<S,​T> | Quick and dirty key/value cache that is subclassed to provide the logic that generates the value for a missing key.
  ClassInstantiatorImpl<T> |
  DelegatingAnnotationAccess | Delegating annotation access is used when resolving annotations on a class; it searches the primary annotation access and if not found there (and `Inherited` is on the annotation being searched), it searches in the inherited access.
  EmptyAnnotationAccess |
  FailureMethodInvocationResult |
  FieldHandleImpl |
  InheritanceData | Used to track which methods are implemented by a base class, which is often needed when transforming a subclass.
  InstructionBuilderImpl |
  InstructionBuilderState | Stores information about the method whose instructions are being constructed, to make it easier to share data across multiple instances.
  Lockable | An object that can be locked, at which point most of its functionality is disabled.
  MethodHandleImpl |
  MethodInvocationBundle | Bundles together the fixed (same for all instances) information needed by a `MethodInvocationBundle`.
  NameCache | A cache of translations from type names to internal names and descriptors, as well as a cache from MethodDescription to method descriptor.
  NoopDelegate |
  PlasticClassHandleShim | The interface for a "shim" class that provides the necessary hooks needed by `FieldHandle` and `MethodHandle` implementations for a particular, instantiated `PlasticClass`.
  PlasticClassImpl |
  PlasticClassLoader |
  PlasticClassPool | Responsible for managing a class loader that allows ASM `ClassNode`s to be instantiated as runtime classes.
  PlasticInternalUtils |
  StandardDelegate |
  StaticContext | Stores static context information needed by a transformed PlasticClass; this includes data such as injections.
  SuccessMethodInvocationResult | A successful method invocation; one that did not throw a checked exception.
  SwitchBlockImpl |
  TryCatchBlockImpl |

- Enum Summary
  Enum | Description
  --- | ---
  FieldState |
  PrimitiveType | Collects together information needed to write code that involves primitive types, including moving between wrapper types and primitive values, or extracting a primitive value from the `StaticContext`.
  TypeCategory | Defines the two basic kinds of non-primitive, non-array Java types: interfaces and classes.