org.modeshape.graph.connector.base
Class PathNode

A Node implementation used by the path-based connector (see PathWorkspace and PathTransaction), which
stores all node state in a tree of content, where a specific path exists to each node in the tree.

Strictly speaking, this class is not immutable or thread safe. However, the persisted state cannot be changed. Instead, any
changes made to the object are stored in a transient area and are made "persistable"via the freeze() method.

The PathTransaction maintains an unfrozen, changed instance within it transactional state, and always puts the
frozen, read-only representation inside the

hasChanges

newChanges

Create the PathNode.Changes implementation. Subclasses that require a specialized class should overwrite this method. Note
that this method does not modify any internal state; it should just instantiate and return the correct Changes class.

Returns:

the changes object.

freeze

Return the frozen node with all internal state reflective of any changes. If this node has no changes, this method simply
returns this same node. Otherwise, this method creates a new node that has no changes and that mirrors this node's current
state, and this new node will have an incremented version number.