org.modeshape.graph.request
Class ReadNodeRequest

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

public class ReadNodeRequest
extends CacheableRequest
implements Iterable<Location>

Instruction to read the properties and children of the node at the specifed location.

See Also:
Serialized Form

Constructor Summary
ReadNodeRequest(Location at, String workspaceName)
          Create a request to read the properties and number of children of a node at the supplied location.
 
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 addProperties(Iterable<Property> properties)
          Add a property that was read from the RepositoryConnection
 void addProperties(Property... properties)
          Add a property that was read from the RepositoryConnection
 Property addProperty(Property property)
          Add a property that was read from the RepositoryConnection
 Location at()
          Get the location defining the node that is to be read.
 void cancel()
          Cancel this request.
 boolean equals(Object obj)
          
 Location getActualLocationOfNode()
          Get the actual location of the node whose children and properties were read.
 List<Location> getChildren()
          Get the children that were read from the RepositoryConnection after the request was processed.
 Collection<Property> getProperties()
          Get the properties that were read from the RepositoryConnection.
 Map<Name,Property> getPropertiesByName()
          Get the properties that were read from the RepositoryConnection.
 RequestType getType()
          Returns the type of the request
 int hashCode()
          
 String inWorkspace()
          Get the name of the workspace in which the node exists.
 boolean isReadOnly()
          Return whether this request only reads information.
 Iterator<Location> iterator()
          
 void setActualLocationOfNode(Location actual)
          Sets the actual and complete location of the node whose children and properties 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

ReadNodeRequest

public ReadNodeRequest(Location at,
                       String workspaceName)
Create a request to read the properties and number of children of a node at the supplied location.

Parameters:
at - the location of the node to be read
workspaceName - the name of the workspace containing the node
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()

at

public Location at()
Get the location defining the node that is to be read.

Returns:
the location of the node; never null

inWorkspace

public String inWorkspace()
Get the name of the workspace in which the node exists.

Returns:
the name of the workspace; never null

getPropertiesByName

public Map<Name,Property> getPropertiesByName()
Get the properties that were read from the RepositoryConnection.

Returns:
the properties, as a map of property name to property; never null

getProperties

public Collection<Property> getProperties()
Get the properties that were read from the RepositoryConnection.

Returns:
the collection of properties; never null

addProperty

public Property addProperty(Property property)
Add a property that was read from the RepositoryConnection

Parameters:
property - the property that was read
Returns:
the previous property that had the same name, or null if there was no previously-recorded property with the same name
Throws:
IllegalArgumentException - if the property is null
IllegalStateException - if the request is frozen

addProperties

public void addProperties(Property... properties)
Add a property that was read from the RepositoryConnection

Parameters:
properties - the properties that were read
Throws:
IllegalArgumentException - if the properties array is null
IllegalStateException - if the request is frozen

addProperties

public void addProperties(Iterable<Property> properties)
Add a property that was read from the RepositoryConnection

Parameters:
properties - the properties that were read
Throws:
IllegalArgumentException - if the iterable reference is null
IllegalStateException - if the request is frozen

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 actual)
Sets the actual and complete location of the node whose children and properties have been read. This method must be called when processing the request, and the actual location must have a path.

Parameters:
actual - 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, or if the actual location does not have a path.
IllegalStateException - if the request is frozen

getActualLocationOfNode

public Location getActualLocationOfNode()
Get the actual location of the node whose children and properties 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()

getType

public RequestType getType()
Description copied from class: Request
Returns the type of the request

Specified by:
getType in class Request
Returns:
the type of the request


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