public class ExceptionMethod extends Object implements Implementation, ByteCodeAppender
Modifier and Type | Class and Description |
---|---|
static interface |
ExceptionMethod.ConstructionDelegate
A construction delegate is responsible for calling a Throwable's constructor.
|
Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
Constructor and Description |
---|
ExceptionMethod(TypeDescription throwableType,
ExceptionMethod.ConstructionDelegate constructionDelegate)
Creates a new instance of an implementation for throwing throwables.
|
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.
|
ByteCodeAppender.Size |
apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
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.
|
static Implementation |
throwing(Class<? extends Throwable> exceptionType)
Creates an implementation that creates a new instance of the given isThrowable type on each method invocation
which is then thrown immediately.
|
static Implementation |
throwing(Class<? extends Throwable> exceptionType,
String message)
Creates an implementation that creates a new instance of the given isThrowable type on each method invocation
which is then thrown immediately.
|
static Implementation |
throwing(TypeDescription exceptionType)
Creates an implementation that creates a new instance of the given isThrowable type on each method invocation
which is then thrown immediately.
|
static Implementation |
throwing(TypeDescription exceptionType,
String message)
Creates an implementation that creates a new instance of the given isThrowable type on each method invocation
which is then thrown immediately.
|
String |
toString() |
public ExceptionMethod(TypeDescription throwableType, ExceptionMethod.ConstructionDelegate constructionDelegate)
throwableType
- The type of the exception to be thrown.constructionDelegate
- A delegate that is responsible for calling the isThrowable's constructor.public static Implementation throwing(Class<? extends Throwable> exceptionType)
exceptionType
- The type of the isThrowable.public static Implementation throwing(TypeDescription exceptionType)
exceptionType
- The type of the isThrowable.public static Implementation throwing(Class<? extends Throwable> exceptionType, String message)
String
as its argument.exceptionType
- The type of the isThrowable.message
- The string that is handed to the constructor. Usually an exception message.public static Implementation throwing(TypeDescription exceptionType, String message)
String
as its argument.exceptionType
- The type of the isThrowable.message
- The string that is handed to the constructor. Usually an exception message.public InstrumentedType prepare(InstrumentedType instrumentedType)
Implementation
ByteCodeAppender
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 Implementation
instrumentedType
- The instrumented type that is the basis of the ongoing instrumentation.public ByteCodeAppender appender(Implementation.Target implementationTarget)
Implementation
appender
in interface Implementation
implementationTarget
- The target of the current implementation.Implementation.prepare(InstrumentedType)
.public ByteCodeAppender.Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
ByteCodeAppender
apply
in interface ByteCodeAppender
methodVisitor
- The method visitor to which the byte code appender writes its code to.implementationContext
- The implementation context of the current type creation process.instrumentedMethod
- The method that is the target of the instrumentation.Copyright © 2014–2015. All rights reserved.