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

java.lang.Object
  extended by org.modeshape.graph.Graph.AbstractAction<T>
      extended by org.modeshape.graph.Graph.CreateAction<T>
All Implemented Interfaces:
Graph.Conjunction<T>, Graph.Create<T>
Enclosing class:
Graph

@NotThreadSafe
protected abstract class Graph.CreateAction<T>
extends Graph.AbstractAction<T>
implements Graph.Create<T>


Method Summary
 T and()
          Finish the request and prepare to start another.
 Graph.Create<T> and(Iterable<Property> properties)
          Specify property that should the new node should have.
 Graph.Create<T> and(Name name, Object... values)
          Specify a property that should the new node should have.
 Graph.Create<T> and(Property property)
          Specify a property that should the new node should have.
 Graph.Create<T> and(Property property, Property... additionalProperties)
          Specify properties that should the new node should have.
 Graph.Create<T> and(String name, Object... values)
          Specify a property that should the new node should have.
 Graph.Create<T> and(UUID uuid)
          Specify the UUID that should the new node should have.
 Graph.CreateAction<T> byAppending()
          Create the node if it does not exist by appending or adjusting the same-name-sibling index).
 Graph.CreateAction<T> ifAbsent()
          Create the node only if there is no existing node with the same name (ignoring same-name-sibling indexes).
 Graph.CreateAction<T> orReplace()
          Create the node if it does not exist, or replace any existing node that has the same name (ignoring same-name-sibling indexes).
 Graph.CreateAction<T> orUpdate()
          Create the node if it does not exist, or update any existing node that has the same name (ignoring same-name-sibling indexes).
protected abstract  T submit(Location parent, String workspaceName, Name childName, Collection<Property> properties, NodeConflictBehavior conflictBehavior)
           
 Graph.Create<T> with(Iterable<Property> properties)
          Specify property that should the new node should have.
 Graph.Create<T> with(Name name, Object... values)
          Specify a property that should the new node should have.
 Graph.Create<T> with(Property property)
          Specify a property that should the new node should have.
 Graph.Create<T> with(Property property, Property... additionalProperties)
          Specify properties that should the new node should have.
 Graph.Create<T> with(String name, Object... values)
          Specify a property that should the new node should have.
 Graph.Create<T> with(UUID uuid)
          Specify the UUID that should the new node should have.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

ifAbsent

public Graph.CreateAction<T> ifAbsent()
Create the node only if there is no existing node with the same name (ignoring same-name-sibling indexes).

Specified by:
ifAbsent in interface Graph.Create<T>
Returns:
this interface for continued specification of the request
See Also:
Graph.Create.ifAbsent()

orReplace

public Graph.CreateAction<T> orReplace()
Create the node if it does not exist, or replace any existing node that has the same name (ignoring same-name-sibling indexes).

Specified by:
orReplace in interface Graph.Create<T>
Returns:
this interface for continued specification of the request
See Also:
Graph.Create.orReplace()

orUpdate

public Graph.CreateAction<T> orUpdate()
Create the node if it does not exist, or update any existing node that has the same name (ignoring same-name-sibling indexes).

Specified by:
orUpdate in interface Graph.Create<T>
Returns:
this interface for continued specification of the request
See Also:
Graph.Create.orUpdate()

byAppending

public Graph.CreateAction<T> byAppending()
Create the node if it does not exist by appending or adjusting the same-name-sibling index). This is the default behavior.

Specified by:
byAppending in interface Graph.Create<T>
Returns:
this interface for continued specification of the request
See Also:
Graph.Create.byAppending()

and

public Graph.Create<T> and(UUID uuid)
Description copied from interface: Graph.Create
Specify the UUID that should the new node should have.

Specified by:
and in interface Graph.Create<T>
Parameters:
uuid - the UUID
Returns:
this same interface so additional properties may be added

and

public Graph.Create<T> and(Property property)
Description copied from interface: Graph.Create
Specify a property that should the new node should have.

Specified by:
and in interface Graph.Create<T>
Parameters:
property - the property
Returns:
this same interface so additional properties may be added

and

public Graph.Create<T> and(Iterable<Property> properties)
Description copied from interface: Graph.Create
Specify property that should the new node should have. This is equivalent to calling Graph.Create.and(Property) for each of the properties in the supplied Iterable.

Specified by:
and in interface Graph.Create<T>
Parameters:
properties - the properties that should be added
Returns:
this same interface so additional properties may be added

and

public Graph.Create<T> and(String name,
                           Object... values)
Description copied from interface: Graph.Create
Specify a property that should the new node should have.

Specified by:
and in interface Graph.Create<T>
Parameters:
name - the name of the property
values - the property values
Returns:
this same interface so additional properties may be added

and

public Graph.Create<T> and(Name name,
                           Object... values)
Description copied from interface: Graph.Create
Specify a property that should the new node should have.

Specified by:
and in interface Graph.Create<T>
Parameters:
name - the name of the property
values - the property values
Returns:
this same interface so additional properties may be added

and

public Graph.Create<T> and(Property property,
                           Property... additionalProperties)
Description copied from interface: Graph.Create
Specify properties that should the new node should have.

Specified by:
and in interface Graph.Create<T>
Parameters:
property - the first property
additionalProperties - the additional property
Returns:
this same interface so additional properties may be added

with

public Graph.Create<T> with(UUID uuid)
Description copied from interface: Graph.Create
Specify the UUID that should the new node should have. This is an alias for Graph.Create.and(UUID).

Specified by:
with in interface Graph.Create<T>
Parameters:
uuid - the UUID
Returns:
this same interface so additional properties may be added

with

public Graph.Create<T> with(Property property)
Description copied from interface: Graph.Create
Specify a property that should the new node should have. This is an alias for Graph.Create.and(Property).

Specified by:
with in interface Graph.Create<T>
Parameters:
property - the property
Returns:
this same interface so additional properties may be added

with

public Graph.Create<T> with(Iterable<Property> properties)
Description copied from interface: Graph.Create
Specify property that should the new node should have. This is an alias for Graph.Create.and(Iterable).

Specified by:
with in interface Graph.Create<T>
Parameters:
properties - the properties that should be added
Returns:
this same interface so additional properties may be added

with

public Graph.Create<T> with(Property property,
                            Property... additionalProperties)
Description copied from interface: Graph.Create
Specify properties that should the new node should have. This is an alias for Graph.Create.and(Property, Property...).

Specified by:
with in interface Graph.Create<T>
Parameters:
property - the first property
additionalProperties - the additional property
Returns:
this same interface so additional properties may be added

with

public Graph.Create<T> with(String name,
                            Object... values)
Description copied from interface: Graph.Create
Specify a property that should the new node should have. This is an alias for Graph.Create.and(String, Object...).

Specified by:
with in interface Graph.Create<T>
Parameters:
name - the name of the property
values - the property values
Returns:
this same interface so additional properties may be added

with

public Graph.Create<T> with(Name name,
                            Object... values)
Description copied from interface: Graph.Create
Specify a property that should the new node should have. This is an alias for Graph.Create.and(Name, Object...).

Specified by:
with in interface Graph.Create<T>
Parameters:
name - the name of the property
values - the property values
Returns:
this same interface so additional properties may be added

submit

protected abstract T submit(Location parent,
                            String workspaceName,
                            Name childName,
                            Collection<Property> properties,
                            NodeConflictBehavior conflictBehavior)

and

public T and()
Description copied from interface: Graph.Conjunction
Finish the request and prepare to start another.

Specified by:
and in interface Graph.Conjunction<T>
Overrides:
and in class Graph.AbstractAction<T>
Returns:
the interface that can be used to start another request; never null


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