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
OperationStepHandlercontext.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 OperationStepHandlercontext - 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 notOperationFailedExceptionprotected 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
implementationOperationFailedExceptionprotected void validateUnresolvedValue(String attributeName, org.jboss.dmr.ModelNode unresolvedValue) throws OperationFailedException
attributeName - the name of the attribute being updatedunresolvedValue - the unresolved valueOperationFailedExceptionprotected void validateResolvedValue(String attributeName, org.jboss.dmr.ModelNode resolvedValue) throws OperationFailedException
attributeName - the name of the attribute being updatedresolvedValue - the resolved valueOperationFailedExceptionprotected boolean requiresRuntime(OperationContext context)
OperationContext.Stage.RUNTIME handler should be added.context - operation contexttrue if a runtime stage handler should be added; false otherwise.protected AttributeDefinition getAttributeDefinition(String attributeName)
Copyright © 2013 JBoss, a division of Red Hat, Inc.. All Rights Reserved.