|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface VersionHistory
A VersionHistory
object wraps an nt:versionHistory
node. It provides convenient access to version history information.
Field Summary |
---|
Fields inherited from interface javax.jcr.Node |
---|
JCR_CHILD_NODE_DEFINITION, JCR_CONTENT, JCR_FROZEN_NODE, JCR_PROPERTY_DEFINITION, JCR_ROOT_VERSION, JCR_VERSION_LABELS |
Method Summary | |
---|---|
void |
addVersionLabel(java.lang.String versionName,
java.lang.String label,
boolean moveLabel)
Adds the specified label to the specified version. |
NodeIterator |
getAllFrozenNodes()
Returns an iterator over all the frozen nodes of all the versions of this version history. |
NodeIterator |
getAllLinearFrozenNodes()
This method returns all the frozen nodes of all the versions in this version history in the same order as getAllLinearVersions() . |
VersionIterator |
getAllLinearVersions()
This method returns an iterator over all the versions in the line of descent from the root version to that base version within this history that is bound to the workspace through which this VersionHistory was accessed. |
VersionIterator |
getAllVersions()
Returns an iterator over all the versions within this version history. |
Version |
getRootVersion()
Returns the root version of this version history. |
Version |
getVersion(java.lang.String versionName)
Retrieves a particular version from this version history by version name. |
java.lang.String |
getVersionableIdentifier()
Returns the identifier of the versionable node for which this is the version history. |
java.lang.String |
getVersionableUUID()
Deprecated. As of JCR 2.0, getVersionableIdentifier() should be
used instead. |
Version |
getVersionByLabel(java.lang.String label)
Retrieves a particular version from this version history by version label. |
java.lang.String[] |
getVersionLabels()
Returns all version labels of the history or an empty array if there are none. |
java.lang.String[] |
getVersionLabels(Version version)
Returns all version labels of the given version - empty
array if none. |
boolean |
hasVersionLabel(java.lang.String label)
Returns true if any version in the history has the given
label . |
boolean |
hasVersionLabel(Version version,
java.lang.String label)
Returns true if the given version has the given label . |
void |
removeVersion(java.lang.String versionName)
Removes the named version from this version history and automatically repairs the version graph. |
void |
removeVersionLabel(java.lang.String label)
Removes the specified label from among the labels of this version history. |
Methods inherited from interface javax.jcr.Item |
---|
accept, getAncestor, getDepth, getName, getParent, getPath, getSession, isModified, isNew, isNode, isSame, refresh, remove, save |
Method Detail |
---|
java.lang.String getVersionableUUID() throws RepositoryException
getVersionableIdentifier()
should be
used instead.
RepositoryException
- if an error occurs.java.lang.String getVersionableIdentifier() throws RepositoryException
RepositoryException
- if an error occurs.Version getRootVersion() throws RepositoryException
Version
object.
RepositoryException
- if an error occurs.VersionIterator getAllLinearVersions() throws RepositoryException
VersionHistory
was accessed.
Within a version history H
, B
is the base
version bound to workspace W
if and only if there exists a
versionable node N
in W
whose version history
is H
and B
is the base version of
N
.
The line of descent from version V1
to
V2
, where V2
is a successor of V1
,
is the ordered list of versions starting with V1
and
proceeding through each direct successor to V2
.
The versions are returned in order of creation date, from oldest to newest.
Note that in a simple versioning repository the behavior of this method is equivalent to returning all versions in the version history in order from oldest to newest.
VersionIterator
object.
RepositoryException
- if an error occurs.VersionIterator getAllVersions() throws RepositoryException
VersionIterator
object.
RepositoryException
- if an error occurs.NodeIterator getAllLinearFrozenNodes() throws RepositoryException
getAllLinearVersions()
.
NodeIterator
object.
RepositoryException
- if an error occurs.NodeIterator getAllFrozenNodes() throws RepositoryException
NodeIterator
object.
RepositoryException
- if an error occurs.Version getVersion(java.lang.String versionName) throws VersionException, RepositoryException
versionName
- a version name
Version
object.
VersionException
- if the specified version is not in this version
history.
RepositoryException
- if an error occurs.Version getVersionByLabel(java.lang.String label) throws VersionException, RepositoryException
label
- a version label
Version
object.
VersionException
- if the specified label
is not in
this version history.
RepositoryException
- if an error occurs.void addVersionLabel(java.lang.String versionName, java.lang.String label, boolean moveLabel) throws LabelExistsVersionException, VersionException, RepositoryException
The label must be a JCR name in either qualified or expanded form and therefore must conform to the syntax restriction that apply to such names. In particular a colon (":") should not be used unless it is intended as a prefix delimiter in a qualified name.
Adding a version label to a version corresponds to adding a reference
property with a name specified by the label
parameter to the
jcr:versionLabels
sub node of the nt:versionHistory
node. The reference property points to the nt:version
node
that represents the specified version.
This is a workspace-write method and therefore the change is made immediately.
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
will fail.
versionName
- the name of the version to which the label is to be
added.label
- the label to be added, A JCR name in either expanded or
qualified form.moveLabel
- if true
, then if label
is
already assigned to a version in this version history, it is moved to the
new version specified; if false
, then attempting to assign
an already used label will throw a LabelExistsVersionException
.
LabelExistsVersionException
- if moveLabel
is
false
, and an attempt is made to add a label that already
exists in this version history.
VersionException
- if the specified version does not exist in this
version history or if the specified version is the root version
(jcr:rootVersion
).
RepositoryException
- if another error occurs.void removeVersionLabel(java.lang.String label) throws VersionException, RepositoryException
jcr:versionLabels
child node of the nt:versionHistory
node that represents this version history.
This is workspace-write method and therefore the change is made immediately.
label
- a version label. A JCR name in either expanded or qualified
form.
VersionException
- if the name label does not exist in this version
history.
RepositoryException
- if another error occurs.boolean hasVersionLabel(java.lang.String label) throws RepositoryException
true
if any version in the history has the given
label
. The label must be a JCR name in either qualified or
expanded form.
label
- a version label. A JCR name in either expanded or qualified
form.
boolean
.
RepositoryException
- if an error occurs.boolean hasVersionLabel(Version version, java.lang.String label) throws VersionException, RepositoryException
label
. The
label must be a JCR name in either qualified or expanded form.
version
- a Version objectlabel
- a version label. A JCR name in either expanded or qualified
form.
boolean
.
VersionException
- if the specified version
is not of
this version history.
RepositoryException
- if another error occurs.java.lang.String[] getVersionLabels() throws RepositoryException
String
array containing all the labels of the
version history.
RepositoryException
- if an error occurs.java.lang.String[] getVersionLabels(Version version) throws VersionException, RepositoryException
version
- empty
array if none. Throws a VersionException
if the specified
version
is not in this version history.
version
- a Version object
String
array containing all the labels of the
given version
VersionException
- if the specified version
is not in
this version history.
RepositoryException
- if another error occurs.void removeVersion(java.lang.String versionName) throws ReferentialIntegrityException, AccessDeniedException, UnsupportedRepositoryOperationException, VersionException, RepositoryException
V
, V
's predecessor set is P
and
V
's successor set is S
, then the version graph
is repaired s follows: P
, remove
the reference to V
from its successor list and add
references to each member of S
. S
, remove the reference to V
from its
predecessor list and add references to each member of P
.
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.
versionName
- the name of a version in this version history.
ReferentialIntegrityException
- if the specified version is
currently the target of a REFERENCE
property elsewhere in
the repository (not necessarily in this workspace) and the current
Session
has read access to that REFERENCE
property.
AccessDeniedException
- 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.
UnsupportedRepositoryOperationException
- if this operation is not
supported by the implementation.
VersionException
- if the named version is not in this version
history.
RepositoryException
- if another error occurs.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |