|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jboss.dna.graph.request.processor.RequestProcessor
@NotThreadSafe public abstract class RequestProcessor
A component that is used to process and execute Request
s. This class is intended to be subclassed and methods
overwritten to define the behavior for executing the different kinds of requests. Abstract methods must be overridden, but
non-abstract methods all have meaningful default implementations.
Method Summary | |
---|---|
void |
close()
Close this processor, allowing it to clean up any open resources. |
List<ChangeRequest> |
getChanges()
Obtain the list of ChangeRequest s that were successfully processed by this processor. |
ExecutionContext |
getExecutionContext()
The execution context that this process is operating within. |
DateTime |
getNowInUtc()
Get the 'current time' for this processor, which is usually a constant during its lifetime. |
String |
getSourceName()
Get the name of the source against which this processor is executing. |
void |
notifyObserverOfChanges()
Take any of the changes that have been accumulated by this processor and notify the observer. |
void |
process(AccessQueryRequest request)
Process a request to query a workspace with an access query, which is is a low-level atomic query that is part of a larger, planned query. |
abstract void |
process(CloneBranchRequest request)
Process a request to clone a branch into a new workspace. |
abstract void |
process(CloneWorkspaceRequest request)
Process a request to clone an existing workspace as a new workspace. |
void |
process(CompositeRequest request)
Process a request that is composed of multiple other (non-composite) requests. |
abstract void |
process(CopyBranchRequest request)
Process a request to copy a branch into another location. |
abstract void |
process(CreateNodeRequest request)
Process a request to create a node at a specified location. |
abstract void |
process(CreateWorkspaceRequest request)
Process a request to create a new workspace. |
abstract void |
process(DeleteBranchRequest request)
Process a request to delete a branch at a specified location. |
void |
process(DeleteChildrenRequest request)
Process a request to delete all of the child nodes under the supplied existing node. |
abstract void |
process(DestroyWorkspaceRequest request)
Process a request to permanently destroy a workspace. |
void |
process(FullTextSearchRequest request)
Process a request to search a workspace. |
abstract void |
process(GetWorkspacesRequest request)
Process a request to get the information about the available workspaces. |
void |
process(LockBranchRequest request)
Process a request to lock a node or branch within a workspace The default implementation of this method does nothing, as most connectors will not support locking. |
abstract void |
process(MoveBranchRequest request)
Process a request to move a branch at a specified location into a different location. |
abstract void |
process(ReadAllChildrenRequest request)
Process a request to read all of the children of a node. |
abstract void |
process(ReadAllPropertiesRequest request)
Process a request to read the properties of a node at the supplied location. |
void |
process(ReadBlockOfChildrenRequest request)
Process a request to read a block of the children of a node. |
void |
process(ReadBranchRequest request)
Process a request to read a branch or subgraph that's below a node at a specified location. |
void |
process(ReadNextBlockOfChildrenRequest request)
Process a request to read the next block of the children of a node, starting after a previously-retrieved child. |
void |
process(ReadNodeRequest request)
Process a request to read the properties and children of a node at the supplied location. |
void |
process(ReadPropertyRequest request)
Process a request to read a single property of a node at the supplied location. |
void |
process(RemovePropertyRequest request)
Process a request to remove the specified property from a node. |
void |
process(RenameNodeRequest request)
Process a request to rename a node specified location into a different location. |
void |
process(Request request)
Process a request by determining the type of request and delegating to the appropriate process method for that
type. |
void |
process(SetPropertyRequest request)
Process a request to set the specified property on a node. |
void |
process(UnlockBranchRequest request)
Process a request to unlock a node or branch within a workspace The default implementation of this method does nothing, as most connectors will not support locking. |
abstract void |
process(UpdatePropertiesRequest request)
Process a request to remove the specified properties from a node. |
void |
process(UpdateValuesRequest request)
Process a request to add and/or remove the specified values from a property on the given node. |
void |
process(VerifyNodeExistsRequest request)
Process a request to verify that a node exists at the supplied location. |
abstract void |
process(VerifyWorkspaceRequest request)
Process a request to verify a named workspace. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public final String getSourceName()
public final ExecutionContext getExecutionContext()
public final DateTime getNowInUtc()
public void process(Request request)
process
method for that
type.
This method does nothing if the request is null.
request
- the general requestpublic void process(CompositeRequest request)
has an error
after it is processed, each of the embedded requests will be marked with the error
and the submitted composite request will be marked with an error. If one of the embedded requests attempts to
make a change
and results in an error, then the processing of all remaining embedded requests
is aborted and the composite request will be marked with only this error from the change request.
This method does nothing if the request is null.
request
- the composite requestpublic abstract void process(VerifyWorkspaceRequest request)
This method does nothing if the request is null.
request
- the requestpublic abstract void process(GetWorkspacesRequest request)
This method does nothing if the request is null.
request
- the requestpublic abstract void process(CreateWorkspaceRequest request)
This method does nothing if the request is null.
request
- the requestpublic abstract void process(CloneBranchRequest request)
This method does nothing if the request is null.
request
- the requestpublic abstract void process(CloneWorkspaceRequest request)
This method does nothing if the request is null.
request
- the requestpublic abstract void process(DestroyWorkspaceRequest request)
This method does nothing if the request is null.
request
- the requestpublic abstract void process(CopyBranchRequest request)
This method does nothing if the request is null.
request
- the copy requestpublic abstract void process(CreateNodeRequest request)
This method does nothing if the request is null.
request
- the create requestpublic abstract void process(DeleteBranchRequest request)
This method does nothing if the request is null.
request
- the delete request
ReferentialIntegrityException
- if the delete could not be performed because some references to deleted nodes would
have remained after the delete operation completedpublic void process(DeleteChildrenRequest request)
This method does nothing if the request is null.
request
- the delete request
ReferentialIntegrityException
- if the delete could not be performed because some references to deleted nodes would
have remained after the delete operation completedpublic abstract void process(MoveBranchRequest request)
This method does nothing if the request is null.
request
- the move requestpublic abstract void process(ReadAllChildrenRequest request)
This method does nothing if the request is null.
request
- the read requestpublic void process(ReadBlockOfChildrenRequest request)
starting index
and a maximum
number of children to include in the block
.
This method does nothing if the request is null. The default implementation converts the command to a
ReadAllChildrenRequest
, and then finds the children within the block. Obviously for large numbers of children, this
implementation may not be efficient and may need to be overridden.
request
- the read requestpublic void process(ReadNextBlockOfChildrenRequest request)
This method does nothing if the request is null. The default implementation converts the command to a
ReadAllChildrenRequest
, and then finds the children within the block. Obviously for large numbers of children, this
implementation may not be efficient and may need to be overridden.
request
- the read requestpublic void process(ReadBranchRequest request)
This method does nothing if the request is null. The default implementation processes the branch by submitting the
equivalent requests to read the nodes
and the children
. It starts by
doing this for the top-level node, then proceeds for each of the children of that node, and so forth.
request
- the request to read the branchpublic abstract void process(ReadAllPropertiesRequest request)
This method does nothing if the request is null.
request
- the read requestpublic void process(ReadNodeRequest request)
This method does nothing if the request is null. Unless overridden, this method converts the single request into a
ReadAllChildrenRequest
and a ReadAllPropertiesRequest
.
request
- the read requestpublic void process(ReadPropertyRequest request)
This method does nothing if the request is null. Unless overridden, this method converts the request that
reads the node
and simply returns the one property.
request
- the read requestpublic void process(VerifyNodeExistsRequest request)
This method does nothing if the request is null. Unless overridden, this method converts the request that
reads the node
and uses the result to determine if the node exists.
request
- the read requestpublic void process(RemovePropertyRequest request)
This method does nothing if the request is null. Unless overridden, this method converts this request into a
UpdatePropertiesRequest
.
request
- the request to remove the propertypublic void process(SetPropertyRequest request)
This method does nothing if the request is null. Unless overridden, this method converts this request into a
UpdatePropertiesRequest
.
request
- the request to set the propertypublic abstract void process(UpdatePropertiesRequest request)
This method does nothing if the request is null.
request
- the remove requestpublic void process(UpdateValuesRequest request)
This method does nothing if the request is null.
request
- the remove requestpublic void process(RenameNodeRequest request)
This method does nothing if the request is null. Unless overridden, this method converts the rename into a
move
. However, this only works if the request
has a path
for its location
. (If not, this method throws an UnsupportedOperationException
and
must be overridden.)
request
- the rename requestpublic void process(LockBranchRequest request)
The default implementation of this method does nothing, as most connectors will not support locking. Any implementation of this method should do nothing if the request is null.
Implementations that do support locking should throw a LockFailedException
if the request could not be fulfilled.
request
- the requestpublic void process(UnlockBranchRequest request)
The default implementation of this method does nothing, as most connectors will not support locking. Any implementation of this method should do nothing if the request is null.
request
- the requestpublic void process(AccessQueryRequest request)
The default implementation of this method behaves as though the implementation does not support queries by setting an error on the request
request
- the requestpublic void process(FullTextSearchRequest request)
The default implementation of this method behaves as though the implementation does not support full-text searches by setting an error on the request
request
- the requestpublic void close()
public List<ChangeRequest> getChanges()
ChangeRequest
s that were successfully processed by this processor.
Note that this list is modified during processing and thus should only be accessed by the caller when this processor has
been closed
.
Also, if this processor encounters errors while processing change requests
, the processor does
not throw out any of the changes. Thus it is up to the caller to decide whether any of the changes are to be kept.
public void notifyObserverOfChanges()
close()
has been called.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |