org.modeshape.graph.request
Class ReadAllChildrenRequest

java.lang.Object
  extended by org.modeshape.graph.request.Request
      extended by org.modeshape.graph.request.CacheableRequest
          extended by org.modeshape.graph.request.ReadAllChildrenRequest
All Implemented Interfaces:
Serializable, Iterable<Location>, Cacheable

public class ReadAllChildrenRequest
extends CacheableRequest
implements Iterable<Location>

Instruction to read all of the children of a node at a specific location.

See Also:
Serialized Form

Constructor Summary
ReadAllChildrenRequest(Location of, String workspaceName)
          Create a request to read the children of a node at the supplied location in the designated workspace.
 
Method Summary
 void addChild(Location child)
          Add to the list of children that has been read the child with the given path and identification properties.
 void addChild(Path pathToChild, Property idProperty)
          Add to the list of children that has been read the child with the given path and identification property.
 void addChild(Path pathToChild, Property firstIdProperty, Property... remainingIdProperties)
          Add to the list of children that has been read the child with the given path and identification properties.
 void addChildren(Iterable<Location> children)
          Add to the list of children that has been read the supplied children with the given path and identification properties.
 void cancel()
          Cancel this request.
 boolean equals(Object obj)
          
 Location getActualLocationOfNode()
          Get the actual location of the node whose children were read.
 List<Location> getChildren()
          Get the children that were read from the RepositoryConnection after the request was processed.
 int hashCode()
          
 String inWorkspace()
          Get the name of the workspace in which the parent and children exist.
 boolean isReadOnly()
          Return whether this request only reads information.
 Iterator<Location> iterator()
          
 Location of()
          Get the location defining the node whose children are to be read.
 void setActualLocationOfNode(Location actualLocation)
          Sets the actual and complete location of the node whose children have been read.
 String toString()
          
 
Methods inherited from class org.modeshape.graph.request.CacheableRequest
getCachePolicy, getTimeLoaded, setCachePolicy, setTimeLoaded
 
Methods inherited from class org.modeshape.graph.request.Request
checkNotFrozen, freeze, getError, hasError, isCancelled, isFrozen, setError, setLatchForFreezing
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ReadAllChildrenRequest

public ReadAllChildrenRequest(Location of,
                              String workspaceName)
Create a request to read the children of a node at the supplied location in the designated workspace.

Parameters:
of - the location of the node whose children are to be read
workspaceName - the name of the workspace
Throws:
IllegalArgumentException - if the location or workspace name is null
Method Detail

isReadOnly

public boolean isReadOnly()
Return whether this request only reads information.

Specified by:
isReadOnly in class Request
Returns:
true if this request reads information, or false if it requests that the repository content be changed in some way
See Also:
Request.isReadOnly()

of

public Location of()
Get the location defining the node whose children are to be read.

Returns:
the location of the parent node; never null

inWorkspace

public String inWorkspace()
Get the name of the workspace in which the parent and children exist.

Returns:
the name of the workspace; never null

getChildren

public List<Location> getChildren()
Get the children that were read from the RepositoryConnection after the request was processed. Each child is represented by a location.

Returns:
the children that were read; never null

iterator

public Iterator<Location> iterator()

Specified by:
iterator in interface Iterable<Location>
See Also:
Iterable.iterator()

addChildren

public void addChildren(Iterable<Location> children)
Add to the list of children that has been read the supplied children with the given path and identification properties. The children are added in order.

Parameters:
children - the locations of the children that were read
Throws:
IllegalArgumentException - if the parameter is null
IllegalStateException - if the request is frozen
See Also:
addChild(Location), addChild(Path, Property), addChild(Path, Property, Property...)

addChild

public void addChild(Location child)
Add to the list of children that has been read the child with the given path and identification properties. The children should be added in order.

Parameters:
child - the location of the child that was read
Throws:
IllegalArgumentException - if the location is null
IllegalStateException - if the request is frozen
See Also:
addChild(Path, Property), addChild(Path, Property, Property...)

addChild

public void addChild(Path pathToChild,
                     Property firstIdProperty,
                     Property... remainingIdProperties)
Add to the list of children that has been read the child with the given path and identification properties. The children should be added in order.

Parameters:
pathToChild - the path of the child that was just read
firstIdProperty - the first identification property of the child that was just read
remainingIdProperties - the remaining identification properties of the child that was just read
Throws:
IllegalArgumentException - if the path or identification properties are null
IllegalStateException - if the request is frozen
See Also:
addChild(Location), addChild(Path, Property)

addChild

public void addChild(Path pathToChild,
                     Property idProperty)
Add to the list of children that has been read the child with the given path and identification property. The children should be added in order.

Parameters:
pathToChild - the path of the child that was just read
idProperty - the identification property of the child that was just read
Throws:
IllegalArgumentException - if the path or identification properties are null
IllegalStateException - if the request is frozen
See Also:
addChild(Location), addChild(Path, Property, Property...)

setActualLocationOfNode

public void setActualLocationOfNode(Location actualLocation)
Sets the actual and complete location of the node whose children have been read. This method must be called when processing the request, and the actual location must have a path.

Parameters:
actualLocation - the actual location of the node being read, or null if the current location should be used
Throws:
IllegalArgumentException - if the actual location is not equal to the current location; if the actual location does not have a path; or if the actual workspace name is null
IllegalStateException - if the request is frozen

getActualLocationOfNode

public Location getActualLocationOfNode()
Get the actual location of the node whose children were read.

Returns:
the actual location, or null if the actual location was not set

cancel

public void cancel()
Cancel this request. After this method is called, the cancellation flag is set, and any current or future processing of the request may be affected by the cancellation. (Note however, that processors may choose to not respect this request.)

This method is safe to be called by different threads.

Overrides:
cancel in class Request
See Also:
Request.cancel()

hashCode

public int hashCode()

Overrides:
hashCode in class Object
See Also:
Object.hashCode()

equals

public boolean equals(Object obj)

Overrides:
equals in class Object
See Also:
Object.equals(java.lang.Object)

toString

public String toString()

Overrides:
toString in class Object
See Also:
Object.toString()


Copyright © 2008-2010 JBoss, a division of Red Hat. All Rights Reserved.