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.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.TargetByteCodeAppender.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)
Prepares a given 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)
InstrumentedType.Prepareableprepare in interface InstrumentedType.PrepareableinstrumentedType - The instrumented type in its current form.public ByteCodeAppender appender(Implementation.Target implementationTarget)
Implementationappender in interface ImplementationimplementationTarget - The target of the current implementation.InstrumentedType.Prepareable.prepare(InstrumentedType).public ByteCodeAppender.Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
ByteCodeAppenderapply in interface ByteCodeAppendermethodVisitor - 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–2016. All rights reserved.