org.modeshape.graph
Class Graph.CopyAction<T>

java.lang.Object
  extended by org.modeshape.graph.Graph.AbstractAction<T>
      extended by org.modeshape.graph.Graph.CopyAction<T>
All Implemented Interfaces:
Graph.And<Graph.Copy<T>>, Graph.Conjunction<T>, Graph.Copy<T>, Graph.CopyTarget<T>, Graph.FromWorkspace<Graph.CopyTarget<T>>, Graph.Into<T>, Graph.To<T>
Enclosing class:
Graph

@NotThreadSafe
protected abstract class Graph.CopyAction<T>
extends Graph.AbstractAction<T>
implements Graph.Copy<T>


Field Summary
protected  org.modeshape.graph.Locations from
           
protected  String fromWorkspaceName
           
 
Method Summary
 Graph.Copy<T> and(Iterable<Property> idProperties)
          Specify that another node should also be copied or moved.
 Graph.Copy<T> and(Location from)
          Specify that another node should also be copied or moved.
 Graph.Copy<T> and(Path from)
          Specify that another node should also be copied or moved.
 Graph.Copy<T> and(Property from)
          Specify that another node should also be copied or moved.
 Graph.Copy<T> and(Property firstFrom, Property... additionalFroms)
          Specify that another node should also be copied or moved.
 Graph.Copy<T> and(String from)
          Specify that another node should also be copied or moved.
 Graph.Copy<T> and(UUID from)
          Specify that another node should also be copied or moved.
 Graph.CopyTarget<T> fromWorkspace(String workspaceName)
           
 T into(Location into)
          Finish the request by specifying the location of the parent into which the node should be copied/moved.
 T into(Path into)
          Finish the request by specifying the location of the parent into which the node should be copied/moved.
 T into(Property into)
          Finish the request by specifying the location of the parent into which the node should be copied/moved.
 T into(Property firstIdProperty, Property... additionalIdProperties)
          Finish the request by specifying the location of the parent into which the node should be copied/moved.
 T into(String into)
          Finish the request by specifying the location of the parent into which the node should be copied/moved.
 T into(UUID into)
          Finish the request by specifying the location of the parent into which the node should be copied/moved.
protected abstract  T submit(String fromWorkspaceName, org.modeshape.graph.Locations from, Location into, Name nameForCopy)
          Submit any requests to move the targets into the supplied parent location
 T to(Location desiredLocation)
          Finish the request by specifying the Location.create where the node should be copied/moved.
 T to(Path desiredPath)
          Finish the request by specifying the Location.create where the node should be copied/moved.
 T to(String desiredPath)
          Finish the request by specifying the Location.create where the node should be copied/moved.
 
Methods inherited from class org.modeshape.graph.Graph.AbstractAction
and
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

from

protected org.modeshape.graph.Locations from

fromWorkspaceName

protected String fromWorkspaceName
Method Detail

and

public Graph.Copy<T> and(Location from)
Description copied from interface: Graph.And
Specify that another node should also be copied or moved.

Specified by:
and in interface Graph.And<Graph.Copy<T>>
Parameters:
from - the location of the node to be copied or moved
Returns:
the interface for finishing the request

and

public Graph.Copy<T> and(String from)
Description copied from interface: Graph.And
Specify that another node should also be copied or moved.

Specified by:
and in interface Graph.And<Graph.Copy<T>>
Parameters:
from - the path of the node to be copied or moved
Returns:
the interface for finishing the request

and

public Graph.Copy<T> and(Path from)
Description copied from interface: Graph.And
Specify that another node should also be copied or moved.

Specified by:
and in interface Graph.And<Graph.Copy<T>>
Parameters:
from - the path of the node to be copied or moved
Returns:
the interface for finishing the request

and

public Graph.Copy<T> and(Property firstFrom,
                         Property... additionalFroms)
Description copied from interface: Graph.And
Specify that another node should also be copied or moved.

Specified by:
and in interface Graph.And<Graph.Copy<T>>
Parameters:
firstFrom - the first property that, with the additionalIdProperties, uniquely identifies the node to be copied or moved
additionalFroms - the additional properties that, with the additionalIdProperties, uniquely identifies the node to be copied or moved
Returns:
the interface for finishing the request

and

public Graph.Copy<T> and(Iterable<Property> idProperties)
Description copied from interface: Graph.And
Specify that another node should also be copied or moved.

Specified by:
and in interface Graph.And<Graph.Copy<T>>
Parameters:
idProperties - the properties that uniquely identifies the node to be copied or moved
Returns:
the interface for finishing the request

and

public Graph.Copy<T> and(Property from)
Description copied from interface: Graph.And
Specify that another node should also be copied or moved.

Specified by:
and in interface Graph.And<Graph.Copy<T>>
Parameters:
from - the property that uniquely identifies the node to be copied or moved
Returns:
the interface for finishing the request

and

public Graph.Copy<T> and(UUID from)
Description copied from interface: Graph.And
Specify that another node should also be copied or moved.

Specified by:
and in interface Graph.And<Graph.Copy<T>>
Parameters:
from - the UUID of the node to be copied or moved
Returns:
the interface for finishing the request

submit

protected abstract T submit(String fromWorkspaceName,
                            org.modeshape.graph.Locations from,
                            Location into,
                            Name nameForCopy)
Submit any requests to move the targets into the supplied parent location

Parameters:
fromWorkspaceName - the name of the workspace containing the from locations
from - the locations that are being copied
into - the parent location
nameForCopy - the name that should be used for the copy, or null if the name should be the same as the original
Returns:
this object, for method chaining

fromWorkspace

public Graph.CopyTarget<T> fromWorkspace(String workspaceName)
Specified by:
fromWorkspace in interface Graph.FromWorkspace<Graph.CopyTarget<T>>

into

public T into(Location into)
Description copied from interface: Graph.Into
Finish the request by specifying the location of the parent into which the node should be copied/moved. This operation will result in the copied/moved node having the same name as the original (but with the appropriately-determined same-name-sibling index). If you want to control the name of the node for the newly copied/moved node, use Graph.To.to(Location) instead.

Specified by:
into in interface Graph.Into<T>
Parameters:
into - the location of the new parent
Returns:
the interface for additional requests or actions
See Also:
Graph.To.to(Location)

into

public T into(Path into)
Description copied from interface: Graph.Into
Finish the request by specifying the location of the parent into which the node should be copied/moved. This operation will result in the copied/moved node having the same name as the original (but with the appropriately-determined same-name-sibling index). If you want to control the name of the node for the newly copied/moved node, use Graph.To.to(Path) instead.

Specified by:
into in interface Graph.Into<T>
Parameters:
into - the path of the new parent
Returns:
the interface for additional requests or actions
See Also:
Graph.To.to(Path)

into

public T into(UUID into)
Description copied from interface: Graph.Into
Finish the request by specifying the location of the parent into which the node should be copied/moved. This operation will result in the copied/moved node having the same name as the original (but with the appropriately-determined same-name-sibling index).

Specified by:
into in interface Graph.Into<T>
Parameters:
into - the UUID of the new parent
Returns:
the interface for additional requests or actions

into

public T into(Property firstIdProperty,
              Property... additionalIdProperties)
Description copied from interface: Graph.Into
Finish the request by specifying the location of the parent into which the node should be copied/moved. This operation will result in the copied/moved node having the same name as the original (but with the appropriately-determined same-name-sibling index).

Specified by:
into in interface Graph.Into<T>
Parameters:
firstIdProperty - the first property that, with the additionalIdProperties, uniquely identifies the new parent
additionalIdProperties - the additional properties that, with the additionalIdProperties, uniquely identifies the new parent
Returns:
the interface for additional requests or actions

into

public T into(Property into)
Description copied from interface: Graph.Into
Finish the request by specifying the location of the parent into which the node should be copied/moved. This operation will result in the copied/moved node having the same name as the original (but with the appropriately-determined same-name-sibling index).

Specified by:
into in interface Graph.Into<T>
Parameters:
into - the property that uniquely identifies the new parent
Returns:
the interface for additional requests or actions

into

public T into(String into)
Description copied from interface: Graph.Into
Finish the request by specifying the location of the parent into which the node should be copied/moved. This operation will result in the copied/moved node having the same name as the original (but with the appropriately-determined same-name-sibling index). If you want to control the name of the node for the newly copied/moved node, use Graph.To.to(String) instead.

Specified by:
into in interface Graph.Into<T>
Parameters:
into - the path of the new parent
Returns:
the interface for additional requests or actions
See Also:
Graph.To.to(String)

to

public T to(Location desiredLocation)
Description copied from interface: Graph.To
Finish the request by specifying the Location.create where the node should be copied/moved. Unlike Graph.Into.into(Location), which specifies the location of the parent and which assumes the new node should have the same name as the original, this method allows the caller to specify a new name for the new node.

Specified by:
to in interface Graph.To<T>
Parameters:
desiredLocation - the desired location for the new node, which must have a path
Returns:
the interface for additional requests or actions
See Also:
Graph.Into.into(Location)

to

public T to(Path desiredPath)
Description copied from interface: Graph.To
Finish the request by specifying the Location.create where the node should be copied/moved. Unlike Graph.Into.into(Path) , which specifies the location of the parent and which assumes the new node should have the same name as the original, this method allows the caller to specify a new name for the new node.

Specified by:
to in interface Graph.To<T>
Parameters:
desiredPath - the path for the new node
Returns:
the interface for additional requests or actions
See Also:
Graph.Into.into(Path)

to

public T to(String desiredPath)
Description copied from interface: Graph.To
Finish the request by specifying the Location.create where the node should be copied/moved. Unlike Graph.Into.into(String), which specifies the location of the parent and which assumes the new node should have the same name as the original, this method allows the caller to specify a new name for the new node.

Specified by:
to in interface Graph.To<T>
Parameters:
desiredPath - the path for the new node
Returns:
the interface for additional requests or actions
See Also:
Graph.Into.into(String)


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