public abstract class MethodHandler extends java.lang.Object implements ResourceModelComponent
Modifier and Type | Class and Description |
---|---|
private static class |
MethodHandler.ClassBasedMethodHandler |
private static class |
MethodHandler.InstanceBasedMethodHandler |
Modifier and Type | Field and Description |
---|---|
private java.util.Collection<Parameter> |
handlerParameters |
Modifier | Constructor and Description |
---|---|
protected |
MethodHandler()
Create new instance of a resource method handler model.
|
protected |
MethodHandler(java.util.Collection<Parameter> parameters)
Create new instance of a resource method handler model.
|
Modifier and Type | Method and Description |
---|---|
void |
accept(ResourceModelVisitor visitor)
A component should call the visitor back with an appropriate
visitor interface method to give it a chance to process.
|
static MethodHandler |
create(java.lang.Class<?> handlerClass)
Create a class-based method handler from a class.
|
static MethodHandler |
create(java.lang.Class<?> handlerClass,
boolean keepConstructorParamsEncoded)
Create a class-based method handler from a class.
|
static MethodHandler |
create(java.lang.Class<?> handlerClass,
boolean keepConstructorParamsEncoded,
java.util.Collection<Parameter> handlerParameters)
Create a class-based method handler from a class.
|
static MethodHandler |
create(java.lang.Class<?> handlerClass,
java.util.Collection<Parameter> handlerParameters)
Create a class-based method handler from a class.
|
static MethodHandler |
create(java.lang.Object handlerInstance)
Create a instance-based (singleton) method handler from a class.
|
static MethodHandler |
create(java.lang.Object handlerInstance,
java.lang.Class<?> handlerClass)
Create a instance-based (singleton) method handler from a class.
|
static MethodHandler |
create(java.lang.Object handlerInstance,
java.lang.Class<?> handlerClass,
java.util.Collection<Parameter> handlerParameters)
Create a instance-based (singleton) method handler from a class.
|
static MethodHandler |
create(java.lang.Object handlerInstance,
java.util.Collection<Parameter> handlerParameters)
Create a instance-based (singleton) method handler from a class.
|
java.util.List<? extends ResourceModelComponent> |
getComponents()
Should return all existing resource model sub-components.
|
java.util.List<HandlerConstructor> |
getConstructors()
Get the resource method handler constructors.
|
abstract java.lang.Class<?> |
getHandlerClass()
Get the resource method handler class.
|
protected abstract java.lang.Object |
getHandlerInstance()
Get the raw handler instance that is backing this method handler.
|
abstract java.lang.Object |
getInstance(InjectionManager injectionManager)
Get the injected resource method handler instance.
|
java.util.Collection<Parameter> |
getParameters()
Get the parameters associated directly with the resource method handler, if any
(e.g.
|
abstract boolean |
isClassBased()
Return whether the method handler
creates instances
based on classes . |
private final java.util.Collection<Parameter> handlerParameters
protected MethodHandler()
protected MethodHandler(java.util.Collection<Parameter> parameters)
parameters
- handler parameters associated directly with the resource method handler
(e.g. class-level property setters and fields). May be null
.public static MethodHandler create(java.lang.Class<?> handlerClass)
handlerClass
- method handler class.public static MethodHandler create(java.lang.Class<?> handlerClass, boolean keepConstructorParamsEncoded)
handlerClass
- method handler class.keepConstructorParamsEncoded
- if set to true
, any injected constructor
parameters must be kept encoded and must not be automatically decoded.public static MethodHandler create(java.lang.Object handlerInstance)
handlerInstance
- method handler instance (singleton).public static MethodHandler create(java.lang.Object handlerInstance, java.lang.Class<?> handlerClass)
handlerInstance
- method handler instance (singleton).handlerClass
- declared handler class.public static MethodHandler create(java.lang.Class<?> handlerClass, java.util.Collection<Parameter> handlerParameters)
handlerClass
- method handler class.handlerParameters
- method handler parameters (e.g. class-level property setters and fields).public static MethodHandler create(java.lang.Class<?> handlerClass, boolean keepConstructorParamsEncoded, java.util.Collection<Parameter> handlerParameters)
handlerClass
- method handler class.keepConstructorParamsEncoded
- if set to true
, any injected constructor
parameters must be kept encoded and must not be automatically decoded.handlerParameters
- method handler parameters (e.g. class-level property setters and fields).public static MethodHandler create(java.lang.Object handlerInstance, java.util.Collection<Parameter> handlerParameters)
handlerInstance
- method handler instance (singleton).handlerParameters
- method handler parameters (e.g. class-level property setters and fields).public static MethodHandler create(java.lang.Object handlerInstance, java.lang.Class<?> handlerClass, java.util.Collection<Parameter> handlerParameters)
handlerInstance
- method handler instance (singleton).handlerClass
- declared handler class.handlerParameters
- method handler parameters (e.g. class-level property setters and fields).public abstract java.lang.Class<?> getHandlerClass()
public java.util.List<HandlerConstructor> getConstructors()
public abstract java.lang.Object getInstance(InjectionManager injectionManager)
injectionManager
- injection manager that can be used to inject get the instance.public abstract boolean isClassBased()
creates instances
based on classes
.classes
given to
InjectionManager
, false otherwise (for example when method handler was initialized from instance)public java.util.Collection<Parameter> getParameters()
Note that this method does not return any parameters associated with
method handler constructors
.
null
.public java.util.List<? extends ResourceModelComponent> getComponents()
ResourceModelComponent
getComponents
in interface ResourceModelComponent
public void accept(ResourceModelVisitor visitor)
ResourceModelComponent
accept
in interface ResourceModelComponent
visitor
- resource model visitor.protected abstract java.lang.Object getHandlerInstance()
null
if the handler is
class-based
.