T
- the type of an object that, if stored by the
applyUpdateToRuntime(OperationContext, ModelNode, String, ModelNode, ModelNode, HandbackHolder)
implementation, will be passed to
revertUpdateToRuntime(OperationContext, ModelNode, String, ModelNode, ModelNode, Object)
.public abstract class AbstractWriteAttributeHandler<T> extends Object implements OperationStepHandler
read-write attribute
.Modifier and Type | Class and Description |
---|---|
static class |
AbstractWriteAttributeHandler.HandbackHolder<T>
Holder subclasses can use to pass an object between
applyUpdateToRuntime(OperationContext, ModelNode, String, ModelNode, ModelNode, HandbackHolder)
and revertUpdateToRuntime(OperationContext, ModelNode, String, ModelNode, ModelNode, Object) . |
Modifier | Constructor and Description |
---|---|
protected |
AbstractWriteAttributeHandler() |
protected |
AbstractWriteAttributeHandler(AttributeDefinition... definitions) |
protected |
AbstractWriteAttributeHandler(ParameterValidator validator) |
protected |
AbstractWriteAttributeHandler(ParameterValidator unresolvedValidator,
ParameterValidator resolvedValidator) |
Modifier and Type | Method and Description |
---|---|
protected abstract boolean |
applyUpdateToRuntime(OperationContext context,
org.jboss.dmr.ModelNode operation,
String attributeName,
org.jboss.dmr.ModelNode resolvedValue,
org.jboss.dmr.ModelNode currentValue,
AbstractWriteAttributeHandler.HandbackHolder<T> handbackHolder)
Hook to allow subclasses to make runtime changes to effect the attribute value change.
|
void |
execute(OperationContext context,
org.jboss.dmr.ModelNode operation)
Execute this step.
|
protected AttributeDefinition |
getAttributeDefinition(String attributeName) |
protected boolean |
requiresRuntime(OperationContext context)
Gets whether a
OperationContext.Stage.RUNTIME handler should be added. |
protected abstract void |
revertUpdateToRuntime(OperationContext context,
org.jboss.dmr.ModelNode operation,
String attributeName,
org.jboss.dmr.ModelNode valueToRestore,
org.jboss.dmr.ModelNode valueToRevert,
T handback)
Hook to allow subclasses to revert runtime changes made in
applyUpdateToRuntime(OperationContext, ModelNode, String, ModelNode, ModelNode, HandbackHolder) . |
protected void |
validateResolvedValue(String attributeName,
org.jboss.dmr.ModelNode resolvedValue)
If a resolved value validator was passed to the constructor, uses it to validate the value.
|
protected void |
validateUnresolvedValue(String attributeName,
org.jboss.dmr.ModelNode unresolvedValue)
If an unresolved value validator was passed to the constructor, uses it to validate the value.
|
protected AbstractWriteAttributeHandler()
protected AbstractWriteAttributeHandler(ParameterValidator validator)
protected AbstractWriteAttributeHandler(AttributeDefinition... definitions)
protected AbstractWriteAttributeHandler(ParameterValidator unresolvedValidator, ParameterValidator resolvedValidator)
public void execute(OperationContext context, org.jboss.dmr.ModelNode operation) throws OperationFailedException
OperationStepHandler
context.getFailureDescroption()
must be called, or OperationFailedException
must be thrown, before calling context.completeStep()
.
If the operation succeeded, context.getResult()
should
be called and the result populated with the outcome, after which context.completeStep()
must be called.
When this method is invoked the thread context classloader
will
be set to be the defining class loader of the class that implements this interface.
execute
in interface OperationStepHandler
context
- the operation contextoperation
- the operation being executedOperationFailedException
- if the operation failed before calling context.completeStep()
protected abstract boolean applyUpdateToRuntime(OperationContext context, org.jboss.dmr.ModelNode operation, String attributeName, org.jboss.dmr.ModelNode resolvedValue, org.jboss.dmr.ModelNode currentValue, AbstractWriteAttributeHandler.HandbackHolder<T> handbackHolder) throws OperationFailedException
context
- the context of the operationoperation
- the operationattributeName
- the name of the attribute being modifiedresolvedValue
- the new value for the attribute, after ModelNode.resolve()
has been called on itcurrentValue
- the existing value for the attributehandbackHolder
- holder for an arbitrary object to pass to
revertUpdateToRuntime(OperationContext, ModelNode, String, ModelNode, ModelNode, Object)
if
the operation needs to be rolled backtrue
if the server requires restart to effect the attribute
value change; false
if notOperationFailedException
protected abstract void revertUpdateToRuntime(OperationContext context, org.jboss.dmr.ModelNode operation, String attributeName, org.jboss.dmr.ModelNode valueToRestore, org.jboss.dmr.ModelNode valueToRevert, T handback) throws OperationFailedException
applyUpdateToRuntime(OperationContext, ModelNode, String, ModelNode, ModelNode, HandbackHolder)
.context
- the context of the operationoperation
- the operationattributeName
- the name of the attribute being modifiedvalueToRestore
- the previous value for the attribute, before this operation was executedvalueToRevert
- the new value for the attribute that should be revertedhandback
- an object, if any, passed in to the handbackHolder
by the applyUpdateToRuntime
implementationOperationFailedException
protected void validateUnresolvedValue(String attributeName, org.jboss.dmr.ModelNode unresolvedValue) throws OperationFailedException
attributeName
- the name of the attribute being updatedunresolvedValue
- the unresolved valueOperationFailedException
protected void validateResolvedValue(String attributeName, org.jboss.dmr.ModelNode resolvedValue) throws OperationFailedException
attributeName
- the name of the attribute being updatedresolvedValue
- the resolved valueOperationFailedException
protected boolean requiresRuntime(OperationContext context)
OperationContext.Stage.RUNTIME
handler should be added. This default implementation
returns true
if the context type
is OperationContext.Type.SERVER
and context.isBooting()
returns false
.context
- operation contexttrue
if a runtime stage handler should be added; false
otherwise.protected AttributeDefinition getAttributeDefinition(String attributeName)
Copyright © 2012 JBoss, a division of Red Hat, Inc.. All Rights Reserved.