@ThreadSafe public class RecordingChanges extends Object implements Changes, ChangeSet
Changes
implementation that records the changes and makes them available for iteration.Constructor and Description |
---|
RecordingChanges(String sessionId,
String processKey,
String repositoryKey,
String workspaceName)
Creates a new change set.
|
Modifier and Type | Method and Description |
---|---|
void |
binaryValueNoLongerUsed(BinaryKey key)
Signal that the binary with the given key is not longer used by any properties.
|
void |
binaryValueUsed(BinaryKey key)
Signal that the binary with the given key is being used by some properties.
|
Set<NodeKey> |
changedNodes() |
void |
freeze(String userId,
Map<String,String> userData,
DateTime timestamp) |
String |
getProcessKey()
Get the key of the process in which the changes were made.
|
String |
getRepositoryKey()
Get the key of the repository in which the changes were made.
|
String |
getSessionId()
Returns the ID of the session in which the changes occurred.
|
DateTime |
getTimestamp() |
Map<String,String> |
getUserData() |
String |
getUserId() |
String |
getWorkspaceName()
Get the name of the workspace in which the changes were made.
|
boolean |
hasBinaryChanges()
Checks if there are any binary changes in this change set.
|
boolean |
isEmpty() |
Iterator<Change> |
iterator()
Returns an iterator over the elements in this queue in proper sequence.
|
void |
nodeChanged(NodeKey key,
Path path)
Create an event signifying that something about the node (other than the properties or location) changed.
|
void |
nodeCreated(NodeKey key,
NodeKey parentKey,
Path path,
Map<Name,Property> properties)
Signal that a new node was created.
|
void |
nodeMoved(NodeKey key,
NodeKey newParent,
NodeKey oldParent,
Path newPath,
Path oldPath)
Signal that a node was moved from one parent to another, and may have also been renamed.
|
void |
nodeRemoved(NodeKey key,
NodeKey parentKey,
Path path)
Signal that a node was removed.
|
void |
nodeRenamed(NodeKey key,
Path newPath,
Path.Segment oldName)
Signal that a node was renamed (but still has the same parent)
|
void |
nodeReordered(NodeKey key,
NodeKey parent,
Path newPath,
Path oldPath,
Path reorderedBeforePath)
Signal that a node was placed into a new location within the same parent.
|
void |
nodeSequenced(NodeKey sequencedNodeKey,
Path sequencedNodePath,
NodeKey outputNodeKey,
Path outputNodePath,
String outputPath,
String userId,
String selectedPath,
String sequencerName)
Signal that a node was successfully sequenced.
|
void |
nodeSequencingFailure(NodeKey sequencedNodeKey,
Path sequencedNodePath,
String outputPath,
String userId,
String selectedPath,
String sequencerName,
Throwable cause)
Signal that a node was not sequenced successfully.
|
void |
propertyAdded(NodeKey key,
Path nodePath,
Property property)
Signal that a property was added to a node.
|
void |
propertyChanged(NodeKey key,
Path nodePath,
Property newProperty,
Property oldProperty)
Signal that a property was changed on a node.
|
void |
propertyRemoved(NodeKey key,
Path nodePath,
Property property)
Signal that a property was removed from a node.
|
void |
repositoryMetadataChanged()
Signal that the repository metadata has changed.
|
void |
setChangedNodes(Set<NodeKey> keys) |
int |
size()
Return the number of individual changes.
|
String |
toString() |
Set<BinaryKey> |
unusedBinaries()
Returns the set of binary keys for those binary values which have become unused.
|
Set<BinaryKey> |
usedBinaries()
Returns the set of binary keys for those binary values which are being used.
|
void |
workspaceAdded(String workspaceName)
Signal that a new workspace has been added.
|
void |
workspaceRemoved(String workspaceName)
Signal that a new workspace has been removed.
|
public RecordingChanges(String sessionId, String processKey, String repositoryKey, String workspaceName)
sessionId
- the ID of the session in which the change set was created; may not be null;processKey
- the UUID of the process which created the change set; may not be nullrepositoryKey
- the key of the repository for which the changes set is created; may not be null.workspaceName
- the name of the workspace in which the changes occurred; may be null.public void workspaceAdded(String workspaceName)
Changes
workspaceAdded
in interface Changes
workspaceName
- the name of the workspace; may not be nullpublic void workspaceRemoved(String workspaceName)
Changes
workspaceRemoved
in interface Changes
workspaceName
- the name of the workspace; may not be nullpublic void repositoryMetadataChanged()
Changes
repositoryMetadataChanged
in interface Changes
public void nodeCreated(NodeKey key, NodeKey parentKey, Path path, Map<Name,Property> properties)
Changes
nodeCreated
in interface Changes
key
- the key for the new node; may not be nullparentKey
- the key for the parent of the new node; may not be nullpath
- the path to the new node; may not be nullproperties
- the properties in the new node, or null if there are nonepublic void nodeRemoved(NodeKey key, NodeKey parentKey, Path path)
Changes
nodeRemoved
in interface Changes
key
- the key for the removed node; may not be nullparentKey
- the key for the old parent of the removed node; may not be nullpath
- the path to the removed node; may not be nullpublic void nodeRenamed(NodeKey key, Path newPath, Path.Segment oldName)
Changes
nodeRenamed
in interface Changes
key
- the key for the node; may not be nullnewPath
- the new path for the node; may not be nulloldName
- the old name (including SNS index); may not be nullpublic void nodeMoved(NodeKey key, NodeKey newParent, NodeKey oldParent, Path newPath, Path oldPath)
Changes
nodeMoved
in interface Changes
key
- the key for the node; may not be nullnewParent
- the new parent for the node; may not be nulloldParent
- the old parent for the node; may not be nullnewPath
- the new path for the node after it has been moved; may not be nulloldPath
- the old path for the node before it was moved; may not be nullpublic void nodeReordered(NodeKey key, NodeKey parent, Path newPath, Path oldPath, Path reorderedBeforePath)
Changes
nodeReordered
in interface Changes
key
- the key for the node; may not be nullparent
- the key for the parent of the node; may not be nullnewPath
- the new path for the node after it has been reordered; may not be nulloldPath
- the old path for the node before it was reordered; may be null in the case of transient reorderingsreorderedBeforePath
- the path of the node before which the node was moved; or null if the node was reordered to the
end of the list of children of the parent nodepublic void nodeChanged(NodeKey key, Path path)
Changes
nodeChanged
in interface Changes
key
- the node key; may not be nullpath
- the pathpublic void nodeSequenced(NodeKey sequencedNodeKey, Path sequencedNodePath, NodeKey outputNodeKey, Path outputNodePath, String outputPath, String userId, String selectedPath, String sequencerName)
Changes
nodeSequenced
in interface Changes
sequencedNodeKey
- the key of the node that was used as input and sequenced; may not be nullsequencedNodePath
- the path of the node that was used as input and sequenced; may not be nulloutputNodeKey
- the key of the top-level node output by the sequencing operation; may not be nulloutputNodePath
- the path of the top-level node output by the sequencing operation; may not be nulloutputPath
- the string representation of the output path of the sequencing operationuserId
- the username of the session that generated the change that led to the sequencing operationselectedPath
- the string representation of the path that led to the sequencing operation (which may or may not be the
same as the sequenced node path); may not be nullsequencerName
- the name of the sequencer; may not be nullpublic void nodeSequencingFailure(NodeKey sequencedNodeKey, Path sequencedNodePath, String outputPath, String userId, String selectedPath, String sequencerName, Throwable cause)
Changes
nodeSequencingFailure
in interface Changes
sequencedNodeKey
- the key of the node that was used as input and sequenced; may not be nullsequencedNodePath
- the path of the node that was used as input and sequenced; may not be nulloutputPath
- the string representation of the output path of the sequencing operationuserId
- the username of the session that generated the change that led to the (failed) sequencing operationselectedPath
- the string representation of the path that led to the (failed) sequencing operation (which may or may
not be the same as the sequenced node path); may not be nullsequencerName
- the name of the sequencer; may not be nullcause
- the exception that caused the failure; may not be nullpublic void propertyAdded(NodeKey key, Path nodePath, Property property)
Changes
propertyAdded
in interface Changes
key
- the key of the node that was changed; may not be nullnodePath
- the path of the node that was changedproperty
- the new property, with name and value(s); may not be nullpublic void propertyRemoved(NodeKey key, Path nodePath, Property property)
Changes
propertyRemoved
in interface Changes
key
- the key of the node that was changed; may not be nullnodePath
- the path of the node that was changedproperty
- the property that was removed, with name and value(s); may not be nullpublic void propertyChanged(NodeKey key, Path nodePath, Property newProperty, Property oldProperty)
Changes
propertyChanged
in interface Changes
key
- the key of the node that was changed; may not be nullnodePath
- the path of the node that was changednewProperty
- the new property, with name and value(s); may not be nulloldProperty
- the old property, with name and value(s); may not be nullpublic void binaryValueNoLongerUsed(BinaryKey key)
Changes
binaryValueNoLongerUsed
in interface Changes
key
- a BinaryKey
instance; never null
public void binaryValueUsed(BinaryKey key)
Changes
binaryValueUsed
in interface Changes
key
- a BinaryKey
instance; never null
public int size()
ChangeSet
public Iterator<Change> iterator()
ConcurrentModificationException
, and guarantees to traverse elements as they existed
upon construction of the iterator, and may (but is not guaranteed to) reflect any modifications subsequent to construction.iterator
in interface Iterable<Change>
Iterable.iterator()
public Set<NodeKey> changedNodes()
changedNodes
in interface ChangeSet
public Set<BinaryKey> unusedBinaries()
ChangeSet
unusedBinaries
in interface ChangeSet
public Set<BinaryKey> usedBinaries()
ChangeSet
usedBinaries
in interface ChangeSet
public boolean hasBinaryChanges()
ChangeSet
hasBinaryChanges
in interface ChangeSet
public String getProcessKey()
ChangeSet
getProcessKey
in interface ChangeSet
public String getRepositoryKey()
ChangeSet
getRepositoryKey
in interface ChangeSet
public String getWorkspaceName()
ChangeSet
getWorkspaceName
in interface ChangeSet
public DateTime getTimestamp()
getTimestamp
in interface ChangeSet
public Map<String,String> getUserData()
getUserData
in interface ChangeSet
public String getSessionId()
ChangeSet
getSessionId
in interface ChangeSet
null
Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.