| javax.jcr.version.VersionHistory
VersionHistory | public interface VersionHistory extends Node(Code) | | A VersionHistory object wraps an nt:versionHistory
node. It provides convenient access to version history information.
|
Method Summary | |
public void | addVersionLabel(String versionName, String label, boolean moveLabel) Adds the specified label to the specified version. | public NodeIterator | getAllFrozenNodes() Returns an iterator over all the frozen nodes of all the versions of
this version history. | public VersionIterator | getAllVersions() Returns an iterator over all the versions within this version history.
The order of the returned objects will not necessarily correspond to the
order of versions in terms of the successor relation. | public Version | getRootVersion() Returns the root version of this version history. | public Version | getVersion(String versionName) Retrieves a particular version from this version history by version name. | public Version | getVersionByLabel(String label) Retrieves a particular version from this version history by version label. | public String[] | getVersionLabels() Returns all version labels of the history or an empty array if there are none. | public String[] | getVersionLabels(Version version) Returns all version labels of the given version - empty array if none. | public String | getVersionableIdentifier() Returns the identifier of the versionable node for which this is the version history. | public String | getVersionableUUID() Returns the identifier of the versionable node for which this is the version history. | public boolean | hasVersionLabel(String label) Returns true if any version in the history has the given label . | public boolean | hasVersionLabel(Version version, String label) Returns true if the given version has the given label . | public void | removeVersion(String versionName) Removes the named version from this version history and automatically
repairs the version graph. | public void | removeVersionLabel(String label) Removes the specified label from among the labels of this version history. |
addVersionLabel | public void addVersionLabel(String versionName, String label, boolean moveLabel) throws LabelExistsVersionException, VersionException, RepositoryException(Code) | | Adds the specified label to the specified version. This corresponds to
adding a reference property with a name specified by the label
parameter to the jcr:versionLabels subnode of the
nt:versionHistory node. The reference property points to the
nt:version node that represents the specified version.
Note that this change is made immediately; there is no need to call save .
In fact, since the the version storage is read-only with respect to normal repository
methods, save does not even function in this context.
Within a particular version history, a given label may appear a maximum of once.
If the specified label is already assigned to a version in this history and
moveLabel is true then the label is removed from its
current location and added to the version with the specified versionName .
If moveLabel is false , then an attempt to add a label that
already exists in this version history will throw a LabelExistVersionException .
A VersionException is thrown if the named version is not in this
VersionHistory or if it is the root version (jcr:rootVersion )
or if the label specified is not a valid JCR NAME .
Parameters: versionName - the name of the version to which the label is to be added. Parameters: label - the label to be added. Parameters: moveLabel - if true , then if label is already assigned to a version inthis version history, it is moved to the new version specified; if false , then attemptingto assign an already used label will throw a VersionException . throws: LabelExistsVersionException - if moveLabel is false ,and an attempt is made to add a label that already exists in this version history throws: VersionException - if an attempt is made to add an existing label to a version historyand moveLabel is false or if the specifed version does not exist inthis version history or if the specified version is the root version (jcr:rootVersion ). throws: RepositoryException - if another error occurs. |
getAllFrozenNodes | public NodeIterator getAllFrozenNodes() throws RepositoryException(Code) | | Returns an iterator over all the frozen nodes of all the versions of
this version history. Under simple versioning the order of the returned
nodes will be the order of their creation. Under full versioning the
order is implementation-dependent.
a NodeIterator object. throws: RepositoryException - if an error occurs. since: JCR 2.0 |
getAllVersions | public VersionIterator getAllVersions() throws RepositoryException(Code) | | Returns an iterator over all the versions within this version history.
The order of the returned objects will not necessarily correspond to the
order of versions in terms of the successor relation. To traverse the
version graph one must traverse the jcr:successor REFERENCE
properties starting with the root version. A version history will always
have at least one version, the root version. Therefore, this method will
always return an iterator of at least size 1.
a VersionIterator object. throws: RepositoryException - if an error occurs. |
getVersion | public Version getVersion(String versionName) throws VersionException, RepositoryException(Code) | | Retrieves a particular version from this version history by version name.
Throws a VersionException if the specified version is not in
this version history.
Parameters: versionName - a version name a Version object. throws: VersionException - if the specified version is not in this version history. throws: RepositoryException - if an error occurs. |
getVersionByLabel | public Version getVersionByLabel(String label) throws RepositoryException(Code) | | Retrieves a particular version from this version history by version label.
Throws a VersionException if the specified label is not in
this version history.
Parameters: label - a version label a Version object. throws: VersionException - if the specified label is not in this version history. throws: RepositoryException - if an error occurs. |
getVersionLabels | public String[] getVersionLabels() throws RepositoryException(Code) | | Returns all version labels of the history or an empty array if there are none.
a String array containing all the labels of the version history. throws: RepositoryException - if an error occurs. |
getVersionLabels | public String[] getVersionLabels(Version version) throws VersionException, RepositoryException(Code) | | Returns all version labels of the given version - empty array if none.
Throws a VersionException if the specified version is not
in this version history.
Parameters: version - a Version object a String array containing all the labels of the given version throws: VersionException - if the specified version is not in this version history. throws: RepositoryException - if another error occurs. |
getVersionableIdentifier | public String getVersionableIdentifier() throws RepositoryException(Code) | | Returns the identifier of the versionable node for which this is the version history.
the identifier of the versionable node for which this is the version history. throws: RepositoryException - if an error occurs. since: JCR 2.0 |
hasVersionLabel | public boolean hasVersionLabel(String label) throws RepositoryException(Code) | | Returns true if any version in the history has the given label .
Parameters: label - a version label a boolean . throws: RepositoryException - if an error occurs. |
removeVersion | public void removeVersion(String versionName) throws ReferentialIntegrityException, AccessDeniedException, UnsupportedRepositoryOperationException, VersionException, RepositoryException(Code) | | Removes the named version from this version history and automatically
repairs the version graph. If the version to be removed is V , V 's
predecessor set is P and V 's successor set is S , then
the version graph is repaired s follows:
- For each member of
P , remove the reference to V from its
successor list and add references to each member of S .
- For each member of
S , remove the reference to V from its
predecessor list and add references to each member of P .
Note that this change is made immediately; there is no need to call save .
In fact, since the the version storage is read-only with respect to normal repository
methods, save does not even function in this context.
A ReferentialIntegrityException will be thrown if the specified version is
currently the target of a REFERENCE property elsewhere in the repository
(not just in this workspace) and the current Session has read access to
that REFERENCE property.
An AccessDeniedException will be thrown if the current Session
does not have permission to remove the specified version or if the specified version is
currently the target of a REFERENCE property elsewhere in the repository
(not just in this workspace) and the current Session does not have read
access to that REFERENCE property.
Throws an UnsupportedRepositoryOperationException if this operation is
not supported by the implementation.
Throws a VersionException if the named version is not in this VersionHistory .
Parameters: versionName - the name of a version in this version history. throws: ReferentialIntegrityException - if the specified version is currently the target of aREFERENCE property elsewhere in the repository (not necessarily in this workspace)and the current Session has read access to that REFERENCE property. throws: AccessDeniedException - if the current Session does not have permission to remove thespecified version or if the specified version is currently the target of a REFERENCE property elsewhere in the repository (not just in this workspace) and the current Session does not have read access to that REFERENCE property. throws: UnsupportedRepositoryOperationException - if this operation is not supported by the implementation. throws: VersionException - if the named version is not in this version history. throws: RepositoryException - if another error occurs. |
removeVersionLabel | public void removeVersionLabel(String label) throws VersionException, RepositoryException(Code) | | Removes the specified label from among the labels of this version history.
This corresponds to removing a property from the jcr:versionLabels
child node of the nt:versionHistory node that represents this version
history.
Note that this change is made immediately; there is no need to call save .
In fact, since the the version storage is read-only with respect to normal repository
methods, save does not even function in this context.
If a label is specified that does not exist in this version history,
a VersionException is thrown.
Parameters: label - a version label throws: VersionException - if the name labvel does not exist in this version history. throws: RepositoryException - if another error occurs. |
|
|