protected static class InvocationHandlerAdapter.ForStaticDelegation extends InvocationHandlerAdapter implements InvocationHandlerAdapter.AssignerConfigurable
InvocationHandlerAdapter that delegates method
 invocations to an adapter that is stored in a static field.| Modifier and Type | Class and Description | 
|---|---|
| protected class  | InvocationHandlerAdapter.ForStaticDelegation.AppenderAn appender for implementing the  InvocationHandlerAdapter.ForStaticDelegation. | 
InvocationHandlerAdapter.AssignerConfigurable, InvocationHandlerAdapter.ForInstanceDelegation, InvocationHandlerAdapter.ForStaticDelegationImplementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target| Modifier and Type | Field and Description | 
|---|---|
| protected InvocationHandler | invocationHandlerThe invocation handler to which method interceptions are to be delegated. | 
assigner, cacheMethods, fieldName| Modifier | Constructor and Description | 
|---|---|
| protected  | ForStaticDelegation(String fieldName,
                   boolean cacheMethods,
                   Assigner assigner,
                   InvocationHandler invocationHandler)Creates a new invocation handler adapter for delegating invocations to an invocation handler that is stored
 in a static field. | 
| Modifier and Type | Method and Description | 
|---|---|
| ByteCodeAppender | appender(Implementation.Target implementationTarget)Creates a byte code appender that determines the implementation of the instrumented type's methods. | 
| boolean | equals(Object other) | 
| int | hashCode() | 
| InstrumentedType | prepare(InstrumentedType instrumentedType)During the preparation phase of an implementation, implementations are eligible to adding fields or methods
 to the currently instrumented type. | 
| String | toString() | 
| Implementation | withAssigner(Assigner assigner)Configures an assigner to use with this invocation handler adapter. | 
| InvocationHandlerAdapter.AssignerConfigurable | withMethodCache()By default, any  Methodinstance that is handed over to anInvocationHandleris created on each invocation of the method. | 
apply, of, of, toInstanceFieldprotected final InvocationHandler invocationHandler
protected ForStaticDelegation(String fieldName, boolean cacheMethods, Assigner assigner, InvocationHandler invocationHandler)
fieldName - The name of the field.cacheMethods - Determines if the Method instances that are handed to the
                          intercepted methods are cached in static fields.assigner - The assigner to apply when defining this implementation.invocationHandler - The invocation handler to which all method calls are delegated.public InvocationHandlerAdapter.AssignerConfigurable withMethodCache()
InvocationHandlerAdapterMethod instance that is handed over to an
 InvocationHandler is created on each invocation of the method.
 Method look-ups are normally cached by its defining Class what
 makes a repeated look-up of a method little expensive. However, because Method
 instances are mutable by their AccessibleObject contact, any looked-up instance
 needs to be copied by its defining Class before exposing it. This can cause performance
 deficits when a method is for example called repeatedly in a loop. By enabling the method cache, this
 performance penalty can be avoided by caching a single Method instance for
 any intercepted method as a static field in the instrumented type.withMethodCache in class InvocationHandlerAdapterMethod instance
 in form of a static field.public Implementation withAssigner(Assigner assigner)
InvocationHandlerAdapter.AssignerConfigurablewithAssigner in interface InvocationHandlerAdapter.AssignerConfigurableassigner - The assigner to apply when defining this implementation.assigner configured.public InstrumentedType prepare(InstrumentedType instrumentedType)
ImplementationByteCodeAppender that is emitted
 on the call to
 Implementation.appender(Implementation.Target)
 call. On this method call, loaded type initializers can also be added to the instrumented type.prepare in interface ImplementationinstrumentedType - The instrumented type that is the basis of the ongoing instrumentation.public ByteCodeAppender appender(Implementation.Target implementationTarget)
Implementationappender in interface ImplementationimplementationTarget - The target of the current implementation.Implementation.prepare(InstrumentedType).public boolean equals(Object other)
equals in class InvocationHandlerAdapterpublic int hashCode()
hashCode in class InvocationHandlerAdapterCopyright © 2014–2015. All rights reserved.