wt.vc
Interface VersionControlService

All Known Implementing Classes:
StandardVersionControlService, VersionControlServiceFwd

public interface VersionControlService

Provides client accessible server-side functionality for Mastered (unchanging), Versioned (major change) and Iterated (minor change) objects to implement version control. There is also a server-accessible-only VersionControlSvrService.



Supported API: true

Extendable: false


Method Summary
 QueryResult allIterationsFrom(Iterated iteration)
          Finds all of the iterations to the very first one created from the given one.
 QueryResult allIterationsOf(Mastered master)
          Finds all of the iterations to the very first one created associated with the given master.
 QueryResult allVersionsFrom(Versioned version)
          Finds all of the versions to the very first one created from the given version.
 QueryResult allVersionsOf(Mastered master)
          Finds all of the versions to the very first one created associated with the given master.
 QueryResult allVersionsOf(Versioned version)
          Finds all of the versions to the very first one created associated [via its master] with the given version.
 QueryResult allVersionsOf(WTCollection masters, Class versionClass)
          Finds all of the versions to the very first one created associated with the given collection of masters.
 Iterated appendIteration(Iterated target)
          This client accessable API expects that the IterationInfo and VersionInfo cookie data has been constructed correctly.
 Iterated copyBranchInfo(Iterated source, Iterated target)
          

Supported API: false
 void deleteIterations(Iterated beginIteration, Iterated endIteration)
          Deletes all iterations between beginIteration and endIteration of same version.
 void deleteIterations(WTCollection iterations, ConflictResolution[] resolvers)
          This is for deletion of selective iterations.
 Ufid[] getInwardsMergesOf(Iterated target)
          Gets the Ufids of all nodes which form the "from node" of merges terminating on the target node.
 Iterated getLatestIteration(Iterated iteration, boolean includeMarkedForDelete)
          Get the "latest" iteration in the same branch as the given one.
 WTValuedMap getLatestIterations(WTCollection iterations, boolean includeMarkedForDelete)
          Get the "latest" iteration in the same branch as the ones passed in the collection.
 Ufid[] getOutwardMergesOf(Iterated target)
          Gets the Ufids of all nodes which form the "to node" of merges originating on the target node.
 Ufid getPredBranchPointUfid(Iterated target)
          Gets the Ufid of the node from which target node's version branched.
 Ufid getUfidOf(Iterated target)
          Gets the Ufid of the node.
 Iterated insertIteration(Iterated target)
          This client accessable API expects that the IterationInfo and VersionInfo cookie data has been constructed correctly.
 Iterated insertNode(Iterated target, Ufid targetUfid, Ufid predBranchPointUfid)
          Inserts the target node into the version tree of the object.
 Iterated insertNode(Iterated target, Ufid targetUfid, Ufid predBranchPointUfid, Ufid[] inwardMergeUfids, Ufid[] outwardMergeUfids)
          Inserts the target node into the version tree of the object.
 boolean isFirstIteration(Iterated iteration)
          Tests if the given iteration is the first one in the version branch.
 QueryResult iterationsOf(Iterated iteration)
          Finds only the iterations directly associated with the given one.
 QueryResult iterationsOf(long branch)
          Deprecated. Please use the iterationsOf(branch:long, iteratedClass:Class) api for better performing searches
 QueryResult iterationsOf(long branch, Class iteratedClass)
          Finds only the iterations directly associated with the given branch id.
 QueryResult iterationsOf(WTCollection iterations, Class iteratedClass, boolean includeLatest)
          Finds only the iterations directly associated with the given colletion of iterated objects.
 Versioned merge(Versioned srcVersion, Versioned destVersion, String note)
          Creates a new iteration of srcVersion and re-parents it as the latest iteration of destVersion.
 WTValuedMap merge(WTValuedMap sourceToDestinationsMap, String note)
          Multi-object form of merge operation.
 AdHocStringVersioned newAdHocStringVersion(AdHocStringVersioned version, String adHocVersionId)
          Creates a new in-line version with the given adHocVersionId assigned.
 Versioned newBranch(Versioned version)
          Makes a new branched version from the given one using it as a branch point, which may or may not be the "latest" iteration.
 Iterated newIteration(Iterated iteration)
          Deprecated.  
 Iterated newIteration(Iterated iteration, boolean copyAttributes)
          Makes a new iteration/version as a copy from the given one, and does not increment its identifiier.
 WTValuedMap newIterations(WTCollection iterations)
          Deprecated.  
 WTValuedMap newIterations(WTCollection iterations, boolean copyAttributes)
          Deprecated.  
 OneOffVersioned newOneOffVersion(OneOffVersioned version)
          Creates a new in-line version from the given version.
 Versioned newUncontrolledVersion(Versioned version)
          Makes a new version from the given version.
 Versioned newVersion(Versioned version)
          Makes a new in-lined version from the given version.
 Versioned newVersion(Versioned version, VersionIdentifier version_id, IterationIdentifier iteration_id)
          Makes a new in-lined version from the given version.
 Versionable newVersionable(Versionable version)
          API intended to be called internally by any API that intends to create a new version.
 WTList newVersionables(WTList versions)
          API intended to be called internally by any API that intends to create a new version.
 WTValuedMap newVersions(WTCollection versions)
          Makes a new in-lined version from the given version.
 WTValuedMap newVersions(WTKeyedMap versionMap)
          Makes a new in-lined version from the given version.
 Iterated predecessorOf(Iterated iteration)
          Finds the predecessor of the iteration.
 Iterated refresh(VersionForeignKey key)
          Retrieves a Iterated object given its VersionForeignKey.
 Iterated rollback(Iterated iteration, Iterated reversion)
          Deletes all iterations starting at the latest iteration in a version back to, but not including, a specified iteration in the same version.
 Iterated rollup(Iterated iteration, Iterated culmination)
          Deletes all iterations starting at the first iteration in a version up to, but not including, a specified iteration in the same version.
 void setSuccessorVersionable(Iterated target, QueryResult successors)
          The predecessor links are managed during new object creation and via the successor method.
 void setSuccessorVersionable(Iterated target, Versionable successor)
          The predecessor links are managed during new object creation and via the successor method.
 Iterated supersede(Iterated iteration, Iterated replacement)
          Supersedes the first iteration with the other iteration.
 WTValuedMap supersede(WTValuedMap iterationReplacementMap)
          Supersedes each iteration passed as the key in the WTValuedMap with the corresponding iteration value in the WTValuedMap.
 

Method Detail

newBranch

public Versioned newBranch(Versioned version)
                    throws WTException,
                           VersionControlException,
                           WTPropertyVetoException
Makes a new branched version from the given one using it as a branch point, which may or may not be the "latest" iteration. The newly branched version's identifier is moved to the next level to the right and reset.

Supported API: true

Parameters:
version -
Returns:
Versioned
Throws:
WTException
VersionControlException
WTPropertyVetoException

newVersion

public Versioned newVersion(Versioned version)
                     throws WTException,
                            VersionControlException,
                            WTPropertyVetoException
Makes a new in-lined version from the given version. The newly in-lined version's identifier is incremented.

Supported API: true

Parameters:
version -
Returns:
Versioned
Throws:
WTException
VersionControlException
WTPropertyVetoException

newVersion

public Versioned newVersion(Versioned version,
                            VersionIdentifier version_id,
                            IterationIdentifier iteration_id)
                     throws WTException,
                            VersionControlException,
                            WTPropertyVetoException
Makes a new in-lined version from the given version. The newly in-lined version's version and iteration identifiers are set to the values passed in to this method..

Supported API: true

Parameters:
version -
version_id -
iteration_id -
Returns:
Versioned
Throws:
WTException
VersionControlException
WTPropertyVetoException

newUncontrolledVersion

public Versioned newUncontrolledVersion(Versioned version)
                                 throws WTException,
                                        VersionControlException,
                                        WTPropertyVetoException
Makes a new version from the given version. The new version will not be placed into the version tree (i.e. the predecessor will not be set) nor will it's version and iteration identifiers be set. The expected use for this api is to build a version tree out of order via data loading, replication or other direct data creation means.

Supported API: true

Parameters:
version -
Returns:
Versioned
Throws:
WTException
VersionControlException
WTPropertyVetoException

newIteration

public Iterated newIteration(Iterated iteration)
                      throws WTException,
                             VersionControlException,
                             WTPropertyVetoException
Deprecated.  

Makes a new iteration/version as a copy from the given one, and does not increment its identifiier.

Supported API: false

Parameters:
iteration -
Returns:
Iterated
Throws:
WTException
VersionControlException
WTPropertyVetoException

newAdHocStringVersion

public AdHocStringVersioned newAdHocStringVersion(AdHocStringVersioned version,
                                                  String adHocVersionId)
                                           throws WTException,
                                                  VersionControlException,
                                                  WTPropertyVetoException
Creates a new in-line version with the given adHocVersionId assigned.

Supported API: true

Parameters:
version -
adHocVersionId -
Returns:
AdHocStringVersioned
Throws:
WTException
VersionControlException
WTPropertyVetoException

newOneOffVersion

public OneOffVersioned newOneOffVersion(OneOffVersioned version)
                                 throws WTException,
                                        VersionControlException,
                                        WTPropertyVetoException
Creates a new in-line version from the given version. When persisted, a one-off version identifier will be assigned to the object.

Supported API: true

Parameters:
version -
Returns:
OneOffVersioned
Throws:
WTException
VersionControlException
WTPropertyVetoException

newVersionable

public Versionable newVersionable(Versionable version)
                           throws WTException,
                                  VersionControlException,
                                  WTPropertyVetoException
API intended to be called internally by any API that intends to create a new version. It creates a new in-line version (with a new branch identifier), resets the iteration identifier, and assigns the version creator.

Supported API: true

Parameters:
version -
Returns:
Versionable
Throws:
WTException
VersionControlException
WTPropertyVetoException

supersede

public Iterated supersede(Iterated iteration,
                          Iterated replacement)
                   throws WTException,
                          VersionControlException,
                          WTPropertyVetoException
Supersedes the first iteration with the other iteration. Also, the superseding iteration's identifier is incremented.

Supported API: true

Parameters:
iteration -
replacement -
Returns:
Iterated
Throws:
WTException
VersionControlException
WTPropertyVetoException

rollback

public Iterated rollback(Iterated iteration,
                         Iterated reversion)
                  throws WTException,
                         VersionControlException,
                         WTPropertyVetoException
Deletes all iterations starting at the latest iteration in a version back to, but not including, a specified iteration in the same version. The iteration that is rolled back to (reversion) becomes the latest iteration. Returns the reversion if the operation is successful. If the two iterations involved in the rollback are identical null is returned.

Note: Since R3.0 rollback has changed its implementation from allowing a rollback between any two iterations, potentially from different versions, to the one described above.

It will throw conflict exception for branch point deletion if there exist iterations on successor branches.

Supported API: true

Parameters:
iteration -
reversion -
Returns:
Iterated
Throws:
WTException
VersionControlException
WTPropertyVetoException

rollup

public Iterated rollup(Iterated iteration,
                       Iterated culmination)
                throws WTException,
                       VersionControlException,
                       WTPropertyVetoException
Deletes all iterations starting at the first iteration in a version up to, but not including, a specified iteration in the same version. The iteration that is rolled up to (culmination) becomes the first iteration. Returns the culmination if the operation is successful. If the two iterations involved in the rollup are identical null is returned.

Note: Since R3.0 rollup has changed its implementation from allowing a rollup between any two iterations, potentially from different versions, to the one described above.

It will throw conflict exception for branch point deletion if there exists iterations on successor branches.

Supported API: true

Parameters:
iteration -
culmination -
Returns:
Iterated
Throws:
WTException
VersionControlException
WTPropertyVetoException

predecessorOf

public Iterated predecessorOf(Iterated iteration)
                       throws WTException,
                              VersionControlException,
                              PersistenceException
Finds the predecessor of the iteration.

Supported API: true

Parameters:
iteration -
Returns:
Iterated
Throws:
WTException
VersionControlException
PersistenceException

iterationsOf

public QueryResult iterationsOf(Iterated iteration)
                         throws WTException,
                                PersistenceException
Finds only the iterations directly associated with the given one. The result is an ordered list of iterations from the most recent one to the first one created for that version.

Supported API: true

Parameters:
iteration -
Returns:
QueryResult
Throws:
WTException
PersistenceException

iterationsOf

public QueryResult iterationsOf(long branch)
                         throws WTException,
                                PersistenceException
Deprecated. Please use the iterationsOf(branch:long, iteratedClass:Class) api for better performing searches

Finds only the iterations directly associated with the given branch id. The result is an ordered list of iterations from the most recent one to the first one created for that version.

The branch id can uniquely identify a branch in a system based on its property of being unique since it's generated from the OID pool.



Supported API: false

Parameters:
branch -
Returns:
QueryResult
Throws:
WTException
PersistenceException

allIterationsOf

public QueryResult allIterationsOf(Mastered master)
                            throws WTException,
                                   PersistenceException
Finds all of the iterations to the very first one created associated with the given master. The result is an ordered list of iterations from the most recent one to the first one created for that version.

Supported API: true

Parameters:
master -
Returns:
QueryResult
Throws:
WTException
PersistenceException

allIterationsFrom

public QueryResult allIterationsFrom(Iterated iteration)
                              throws WTException,
                                     PersistenceException
Finds all of the iterations to the very first one created from the given one. The result is an ordered list of iterations from the given iteration to the first one created.

Supported API: true

Parameters:
iteration -
Returns:
QueryResult
Throws:
WTException
PersistenceException

allVersionsOf

public QueryResult allVersionsOf(Versioned version)
                          throws WTException,
                                 PersistenceException
Finds all of the versions to the very first one created associated [via its master] with the given version. The result is an ordered list of versions (i.e., latest iterations) from the most recent one to the first one created.

Supported API: true

Parameters:
version -
Returns:
QueryResult
Throws:
WTException
PersistenceException

allVersionsOf

public QueryResult allVersionsOf(Mastered master)
                          throws WTException,
                                 PersistenceException
Finds all of the versions to the very first one created associated with the given master. The result is an ordered list of versions (i.e., latest iterations) from the most recent one to the first one created.

Supported API: true

Parameters:
master -
Returns:
QueryResult
Throws:
WTException
PersistenceException

allVersionsOf

public QueryResult allVersionsOf(WTCollection masters,
                                 Class versionClass)
                          throws WTException,
                                 PersistenceException
Finds all of the versions to the very first one created associated with the given collection of masters. The result is not an ordered list of versions.

Supported API: true

Parameters:
masters -
versionClass -
Returns:
QueryResult
Throws:
WTException
PersistenceException

allVersionsFrom

public QueryResult allVersionsFrom(Versioned version)
                            throws WTException,
                                   PersistenceException
Finds all of the versions to the very first one created from the given version. The result is an ordered list of versions (i.e., latest iterations) from the given iteration to the first one created.

Supported API: true

Parameters:
version -
Returns:
QueryResult
Throws:
WTException
PersistenceException

isFirstIteration

public boolean isFirstIteration(Iterated iteration)
                         throws WTException,
                                VersionControlException
Tests if the given iteration is the first one in the version branch.

Supported API: true

Parameters:
iteration -
Returns:
boolean
Throws:
WTException
VersionControlException

iterationsOf

public QueryResult iterationsOf(long branch,
                                Class iteratedClass)
                         throws WTException,
                                PersistenceException
Finds only the iterations directly associated with the given branch id. The result is an ordered list of iterations from the most recent one to the first one created for that version.

The branch id can uniquely identify a branch in a system based on its property of being unique since it's generated from the OID pool.



Supported API: true

Parameters:
branch -
iteratedClass -
Returns:
QueryResult
Throws:
WTException
PersistenceException

iterationsOf

public QueryResult iterationsOf(WTCollection iterations,
                                Class iteratedClass,
                                boolean includeLatest)
                         throws WTException,
                                PersistenceException
Finds only the iterations directly associated with the given colletion of iterated objects. The result is not an ordered list.

If the flag includeLatest is false then the latest iteration is not included in the resulted list of iterations.

Supported API: true

Parameters:
iterations -
iteratedClass -
includeLatest -
Returns:
QueryResult
Throws:
WTException
PersistenceException

insertIteration

public Iterated insertIteration(Iterated target)
                         throws VersionControlException,
                                WTException
This client accessable API expects that the IterationInfo and VersionInfo cookie data has been constructed correctly. The method will use the IterationIdentifier to determin the proper place to insert the specified Iteration. If an Iteration already exists for the given IterationIdentifier the operation will fail with an exception. This method will also validate the correct configuration of the cookie data, and manage the predecessor links. The PRE and POST INSERT_ITERATION events will be dispatched around the store of the object. The persisted Iteration will be returned.

Supported API: false

Parameters:
target -
Returns:
Iterated
Throws:
VersionControlException
WTException

appendIteration

public Iterated appendIteration(Iterated target)
                         throws VersionControlException,
                                WTException
This client accessable API expects that the IterationInfo and VersionInfo cookie data has been constructed correctly. The method will use the IteraionInfo to determin the proper place to append the specified Iteration. If an Iteration already exists for the given IterationIdentifier the operation will fail with an exception. This method will also validate the correct configuration of the cookie data, and manage the predecessor links and latest attribute. The PRE and POST INSERT_ITERATION events will be dispatched around the store of the object. The persisted Iteration will be returned.

Supported API: false

Parameters:
target -
Returns:
Iterated
Throws:
VersionControlException
WTException

copyBranchInfo

public Iterated copyBranchInfo(Iterated source,
                               Iterated target)
                        throws VersionControlException,
                               WTException


Supported API: false

Parameters:
source -
target -
Returns:
Iterated
Throws:
VersionControlException
WTException

setSuccessorVersionable

public void setSuccessorVersionable(Iterated target,
                                    QueryResult successors)
                             throws VersionControlException,
                                    WTException
The predecessor links are managed during new object creation and via the successor method. This method is intended to support the connection of a branch to a Iteration.

Supported API: false

Parameters:
target -
successors -
Throws:
VersionControlException
WTException

setSuccessorVersionable

public void setSuccessorVersionable(Iterated target,
                                    Versionable successor)
                             throws VersionControlException,
                                    WTException
The predecessor links are managed during new object creation and via the successor method. This method is intended to support the connection of a branch to a Iteration.

Supported API: false

Parameters:
target -
successor -
Throws:
VersionControlException
WTException

merge

public Versioned merge(Versioned srcVersion,
                       Versioned destVersion,
                       String note)
                throws WTException,
                       WTPropertyVetoException
Creates a new iteration of srcVersion and re-parents it as the latest iteration of destVersion. The new iteration essentially has the business attributes of srcVersion and the administrative (and version label) attributes of destVersion. A MergeInfoLink is created between the new iteration and srcVersion.

Note that this class provides a multi-object equivalent of this method as well.

Supported API: true

Parameters:
srcVersion - the version to be merged from
destVersion - the version to be merged to
note - the iteration note to be assigned to the new iteration
Returns:
Versioned
Throws:
WTException
WTPropertyVetoException

merge

public WTValuedMap merge(WTValuedMap sourceToDestinationsMap,
                         String note)
                  throws WTException,
                         WTPropertyVetoException
Multi-object form of merge operation.

Returns map from source objects to newly formed "merged" iterations.

See comments on single-object merge operation for more details.

Supported API: true

Parameters:
sourceToDestinationsMap - map from merge sources to merge destinations
note - the iteration note to be assigned to the new iterations
Returns:
WTValuedMap
Throws:
WTException
WTPropertyVetoException

newIteration

public Iterated newIteration(Iterated iteration,
                             boolean copyAttributes)
                      throws WTException,
                             VersionControlException,
                             WTPropertyVetoException
Makes a new iteration/version as a copy from the given one, and does not increment its identifiier. Based on the boolean copyAttributes value, determines whether
are to be copied to the new object.

Supported API: true

Parameters:
iteration -
copyAttributes -
Returns:
Iterated
Throws:
WTException
VersionControlException
WTPropertyVetoException

getLatestIteration

public Iterated getLatestIteration(Iterated iteration,
                                   boolean includeMarkedForDelete)
                            throws WTException,
                                   VersionControlException
Get the "latest" iteration in the same branch as the given one. A check to see if the given iteration is the latest one is not made since it could be stale. Passing true for includeMarkedForDelete will attempt getting the latest iteratation even if marked for delete.

Supported API: true

Parameters:
iteration -
includeMarkedForDelete -
Returns:
Iterated
Throws:
WTException
VersionControlException

deleteIterations

public void deleteIterations(Iterated beginIteration,
                             Iterated endIteration)
                      throws WTException,
                             VersionControlException,
                             WTPropertyVetoException
Deletes all iterations between beginIteration and endIteration of same version. Both beginIteration and endIteration will also get deleted. beginIteration should be chronologically smaller than endIteration. Also it will not delete all iterations in version, i.e., beginIteration can't be first of version and endIteration can't be latest of version simaltaneously.

Supported API: true

Parameters:
beginIteration -
endIteration -
Throws:
WTException
VersionControlException
WTPropertyVetoException

deleteIterations

public void deleteIterations(WTCollection iterations,
                             ConflictResolution[] resolvers)
                      throws WTException,
                             VersionControlException,
                             WTPropertyVetoException
This is for deletion of selective iterations. List of iterations can include iterations from different versions and different masters. It can throw conflict exception for branch point deletion if all iterations on successor branches are not selected for deletion. Also, conflict exception is thrown during deletion of latest iteration and decision for deletion of latest iteration is taken on basis of resolutions provided.

Supported API: true

Parameters:
iterations - WTCollection of all iterations to be deleted.
resolvers - Resolutions provided to resove oevrridable conflicts.
Throws:
WTException
VersionControlException
WTPropertyVetoException

insertNode

public Iterated insertNode(Iterated target,
                           Ufid targetUfid,
                           Ufid predBranchPointUfid)
                    throws WTException,
                           VersionControlException
Inserts the target node into the version tree of the object. Necessary information such as FederatableInfo, IterationIdentifier, VersionIdentifier, OneOffVersionIdentifier and View as required need to be set on the node before calling this API.

Supported API: false

Parameters:
target - Node to be inserted
targetUfid - Ufid of the node to be inserted
predBranchPointUfid - Ufid of the node from which the target node's version was branched.
Returns:
Iterated
Throws:
WTException
VersionControlException

insertNode

public Iterated insertNode(Iterated target,
                           Ufid targetUfid,
                           Ufid predBranchPointUfid,
                           Ufid[] inwardMergeUfids,
                           Ufid[] outwardMergeUfids)
                    throws WTException,
                           VersionControlException
Inserts the target node into the version tree of the object. Necessary information such as FederatableInfo, IterationIdentifier, VersionIdentifier, OneOffVersionIdentifier and View as required need to be set on the node before calling this API.

Supported API: false

Parameters:
target - Node to be inserted
targetUfid - Ufid of the node to be inserted
predBranchPointUfid - Ufid of the node from which the target node's version was branched.
inwardMergeUfids - Ufids of all the nodes that form the "from node" of merges terminating on the target node.
outwardMergeUfids - Ufids of all the nodes that form the "to node" of merges originating on the target node.
Returns:
Iterated
Throws:
WTException
VersionControlException

getPredBranchPointUfid

public Ufid getPredBranchPointUfid(Iterated target)
                            throws WTException,
                                   VersionControlException
Gets the Ufid of the node from which target node's version branched.

Supported API: false

Parameters:
target -
Returns:
Ufid
Throws:
WTException
VersionControlException

getUfidOf

public Ufid getUfidOf(Iterated target)
               throws WTException,
                      VersionControlException
Gets the Ufid of the node.

Supported API: false

Parameters:
target -
Returns:
Ufid
Throws:
WTException
VersionControlException

getInwardsMergesOf

public Ufid[] getInwardsMergesOf(Iterated target)
                          throws WTException,
                                 VersionControlException
Gets the Ufids of all nodes which form the "from node" of merges terminating on the target node.

Supported API: false

Parameters:
target -
Returns:
Ufid[]
Throws:
WTException
VersionControlException

getOutwardMergesOf

public Ufid[] getOutwardMergesOf(Iterated target)
                          throws WTException,
                                 VersionControlException
Gets the Ufids of all nodes which form the "to node" of merges originating on the target node.

Supported API: false

Parameters:
target -
Returns:
Ufid[]
Throws:
WTException
VersionControlException

newIterations

public WTValuedMap newIterations(WTCollection iterations)
                          throws WTException,
                                 VersionControlException,
                                 WTPropertyVetoException
Deprecated.  

Makes a new iteration/version as a copy from the given one, and does not increment its identifiier.

Supported API: false

Parameters:
iterations -
Returns:
WTValuedMap
Throws:
WTException
VersionControlException
WTPropertyVetoException

newIterations

public WTValuedMap newIterations(WTCollection iterations,
                                 boolean copyAttributes)
                          throws WTException,
                                 VersionControlException,
                                 WTPropertyVetoException
Deprecated.  

Makes a new iteration/version as a copy from the given one, and does not increment its identifiier.

Supported API: false

Parameters:
iterations -
copyAttributes -
Returns:
WTValuedMap
Throws:
WTException
VersionControlException
WTPropertyVetoException

supersede

public WTValuedMap supersede(WTValuedMap iterationReplacementMap)
                      throws WTException,
                             VersionControlException,
                             WTPropertyVetoException
Supersedes each iteration passed as the key in the WTValuedMap with the corresponding iteration value in the WTValuedMap. Also, each superseding iteration's identifier is incremented.

Supported API: true

Parameters:
iterationReplacementMap -
Returns:
WTValuedMap
Throws:
WTException
VersionControlException
WTPropertyVetoException

newVersions

public WTValuedMap newVersions(WTCollection versions)
                        throws WTException,
                               VersionControlException,
                               WTPropertyVetoException
Makes a new in-lined version from the given version. The newly in-lined version's identifier is incremented.

Supported API: true

Parameters:
versions -
Returns:
WTValuedMap
Throws:
WTException
VersionControlException
WTPropertyVetoException

newVersions

public WTValuedMap newVersions(WTKeyedMap versionMap)
                        throws WTException,
                               VersionControlException,
                               WTPropertyVetoException
Makes a new in-lined version from the given version. The newly in-lined version's version and iteration identifiers are set to the values passed in to this method..

Supported API: true

Parameters:
versionMap -
Returns:
WTValuedMap
Throws:
WTException
VersionControlException
WTPropertyVetoException

newVersionables

public WTList newVersionables(WTList versions)
                       throws WTException,
                              VersionControlException,
                              WTPropertyVetoException
API intended to be called internally by any API that intends to create a new version. It creates a new in-line version (with a new branch identifier), resets the iteration identifier, and assigns the version creator.

Supported API: true

Parameters:
versions -
Returns:
WTList
Throws:
WTException
VersionControlException
WTPropertyVetoException

refresh

public Iterated refresh(VersionForeignKey key)
                 throws WTException
Retrieves a Iterated object given its VersionForeignKey.

Supported API: true

Parameters:
key -
Returns:
Iterated
Throws:
WTException

getLatestIterations

public WTValuedMap getLatestIterations(WTCollection iterations,
                                       boolean includeMarkedForDelete)
                                throws WTException,
                                       VersionControlException
Get the "latest" iteration in the same branch as the ones passed in the collection. A check to see if the given iteration is the latest one is not made since it could be stale. Passing true for includeMarkedForDelete will attempt getting the latest iteratation even if marked for delete. The WTValuedMap that is returned gives a mapping from the iterations passed to the latest iterations found, a null value is returned for any non-persistent iterations passed, and for any working copies passed the same working copy will be the value.

Supported API: true

Parameters:
iterations -
includeMarkedForDelete -
Returns:
WTValuedMap
Throws:
WTException
VersionControlException