public class WrapperGenerator extends Object
Also, note that this returned wrapper will always implement the MessageInfo interface, which provides a way to capture all of the messages and IDs used in the interface. This is used to generate resource bundles. In order for this to work, it is required that the interface declare a field
public static final [class name] self = ExceptionWrapper.makeWrapper( ... ) ;
This is necessary because the extension mechanism allows the construction of message IDs that cannot be predicted based on the annotations alone.
The behavior of the implementation of each method on the interface is determined in part by its return type as follows:
Modifier and Type | Class and Description |
---|---|
static interface |
WrapperGenerator.Extension
Extension API available to override the default behavior of the
WrapperGenerator.
|
static class |
WrapperGenerator.ExtensionBase
Convenience base class for implementations of Extension that don't
need to override every method.
|
static interface |
WrapperGenerator.MessageInfo
Hidden interface implemented by the result of the makeWrapper call.
|
Modifier and Type | Method and Description |
---|---|
static String |
getStandardLogId(Method method)
Expose the standard log ID for the method.
|
static <T> T |
makeWrapper(Class<T> cls)
Given an interface annotated with @ExceptionWrapper, return a proxy
implementing the interface.
|
static <T> T |
makeWrapper(Class<T> cls,
WrapperGenerator.Extension extension)
Given an interface annotated with @ExceptionWrapper, return a proxy
implementing the interface.
|
public static String getStandardLogId(Method method)
method
- The method for which the ID is requested.public static <T> T makeWrapper(Class<T> cls)
T
- The annotated interface type.cls
- The class of the annotated interface.public static <T> T makeWrapper(Class<T> cls, WrapperGenerator.Extension extension)
T
- The annotated interface type.cls
- The class of the annotated interface.extension
- The extension instance used to override the default
behavior.Copyright © 2017 Oracle. All rights reserved.