org.jboss.dna.graph.request
Class CreateWorkspaceRequest

java.lang.Object
  extended by org.jboss.dna.graph.request.Request
      extended by org.jboss.dna.graph.request.ChangeRequest
          extended by org.jboss.dna.graph.request.CreateWorkspaceRequest
All Implemented Interfaces:
Serializable

public final class CreateWorkspaceRequest
extends ChangeRequest

Request that a new workspace be created with the supplied name. The request also specifies the desired behavior for the recipient if a workspace already exists with the name.

See Also:
Serialized Form

Nested Class Summary
static class CreateWorkspaceRequest.CreateConflictBehavior
          The options for the behavior when a request specifies a workspace name that already is used by an existing workspace.
 
Field Summary
static CreateWorkspaceRequest.CreateConflictBehavior DEFAULT_CREATE_CONFLICT_BEHAVIOR
          The default CreateWorkspaceRequest.CreateConflictBehavior that will be used if it is unspecified.
 
Constructor Summary
CreateWorkspaceRequest(String desiredNameOfNewWorkspace, CreateWorkspaceRequest.CreateConflictBehavior createConflictBehavior)
          Create a request to create a new workspace, and specify the behavior should a workspace already exists with a name that matches the desired name for the new workspace.
 
Method Summary
 void cancel()
          Cancel this request.
 Location changedLocation()
          Get the location of the top-most node that is to be changed by this request.
 String changedWorkspace()
          Get the name of the workspace that was changed by this request.
 boolean changes(String workspace, Path path)
          Determine if this request changes the branch at the given path.
 CreateWorkspaceRequest.CreateConflictBehavior conflictBehavior()
          Get the desired behavior if a workspace already exists with the desired workspace name .
 String desiredNameOfNewWorkspace()
          Get the desired name for the new workspace.
 boolean equals(Object obj)
          
 Location getActualLocationOfRoot()
          Get the actual location of the root node in the new workspace, or null if the workspace was not (yet) created.
 String getActualWorkspaceName()
          Get the actual name of the workspace that was created.
 int hashCode()
          
 boolean isReadOnly()
          Return whether this request only reads information.
 void setActualRootLocation(Location actualLocationOfRoot)
          Set the actual location of the root node in the new workspace.
 void setActualWorkspaceName(String actualWorkspaceName)
          Set the actual name of the workspace that was created.
 String toString()
          
 
Methods inherited from class org.jboss.dna.graph.request.Request
freeze, getError, hasError, isCancelled, isFrozen, setError, setLatchForFreezing
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_CREATE_CONFLICT_BEHAVIOR

public static final CreateWorkspaceRequest.CreateConflictBehavior DEFAULT_CREATE_CONFLICT_BEHAVIOR
The default CreateWorkspaceRequest.CreateConflictBehavior that will be used if it is unspecified.

Constructor Detail

CreateWorkspaceRequest

public CreateWorkspaceRequest(String desiredNameOfNewWorkspace,
                              CreateWorkspaceRequest.CreateConflictBehavior createConflictBehavior)
Create a request to create a new workspace, and specify the behavior should a workspace already exists with a name that matches the desired name for the new workspace.

Parameters:
desiredNameOfNewWorkspace - the desired name of the new workspace
createConflictBehavior - the behavior if a workspace already exists with the same name
Method Detail

desiredNameOfNewWorkspace

public String desiredNameOfNewWorkspace()
Get the desired name for the new workspace.

Returns:
the desired name for the new workspace; never null

conflictBehavior

public CreateWorkspaceRequest.CreateConflictBehavior conflictBehavior()
Get the desired behavior if a workspace already exists with the desired workspace name .

Returns:
the desired behavior; never null

getActualWorkspaceName

public String getActualWorkspaceName()
Get the actual name of the workspace that was created. This will be the same as the desired name unless there was a conflict and the desired behavior was to alter the name.

Returns:
the actual name of the workspace that was created, or null if a workspace was not created (yet)

setActualWorkspaceName

public void setActualWorkspaceName(String actualWorkspaceName)
Set the actual name of the workspace that was created. This should be the same as the desired name unless there was a conflict and the desired behavior was to alter the name.

Parameters:
actualWorkspaceName - the actual name of the workspace that was created, or null if a workspace was not created
Throws:
IllegalStateException - if the request is frozen

getActualLocationOfRoot

public Location getActualLocationOfRoot()
Get the actual location of the root node in the new workspace, or null if the workspace was not (yet) created.

Returns:
the actual location of the root node in the new workspace, or null if the workspace was not (yet) created

setActualRootLocation

public void setActualRootLocation(Location actualLocationOfRoot)
Set the actual location of the root node in the new workspace.

Parameters:
actualLocationOfRoot - the actual location of the workspace's root node.
Throws:
IllegalStateException - if the request is frozen

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()

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()

changedLocation

public Location changedLocation()
Get the location of the top-most node that is to be changed by this request.

Specified by:
changedLocation in class ChangeRequest
Returns:
the location changed by this request
See Also:
ChangeRequest.changedLocation()

changedWorkspace

public String changedWorkspace()
Get the name of the workspace that was changed by this request.

Specified by:
changedWorkspace in class ChangeRequest
Returns:
the name of the workspace changed by this request
See Also:
ChangeRequest.changedWorkspace()

changes

public boolean changes(String workspace,
                       Path path)
Determine if this request changes the branch at the given path.

Specified by:
changes in class ChangeRequest
Parameters:
workspace - the name of the workspace; may not be null
path - the path; may not be null
Returns:
true if this request changes a node under the given path
See Also:
ChangeRequest.changes(java.lang.String, org.jboss.dna.graph.property.Path)


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