|
Oracle Content Management SDK | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--oracle.ifs.beans.LibraryObject | +--oracle.ifs.beans.TieLibraryObject | +--oracle.ifs.beans.PublicObject | +--oracle.ifs.beans.TiePublicObject | +--oracle.ifs.beans.VersionSeries
The VersionSeries class is used to track revisions to a versioned public object as it changes over time. Each series tracks one set of linear changes by ordering instances of VersionDescription. A Family can have multiple VersionSeries, thus allowing for version branching or other non-linear version tracking. A VersionSeries has two special attributes, DefaultVersionDescription and LastVersionDescription. The defaultVersionDescription is fully updatable and can be used to designate a Published version in which people not actively working on a versioned object might be interested. The LastVersion is more useful for someone actively working on a versioned object; the last version might represent work in progress and as such might not be appropriate for a public audience. The last version is system maintaned.
If a DefaultVersionDescription is not set (is null) then a request for a resolved public object will be deferred to the last version description.
The VersionSeries class has methods to checkOut (aka reserveNext()), checkIn (aka newRevision)
and cancelCheckOut (aka unReserve)
a document belonging to this series. Invoking these methods can affect the lock
state of the various versioning objects such as Family, VersionSeries etc.
Prior to 9.0.3, the behavior was as follows:
Out-of-the-box, there are six policies for the three versioning operations.
The policy names and their semantics are defined below as static constants.
To switch the policy associated with the VersionSeries class for a particular operation,
find the policy by name that you wish to switch to from the PolicyBundle collection on
the session. Associate the policy with the VersionSeries ClassObject or the instance
by using LibraryObject.putPolicy(Policy po)
. Associating with the VersionSeries
ClassObject affects all VersionSeries in the system while associating it with the
instance only applies that policy for that instance.
To define a totally new policy with a custom semantic for a particular operation, construct a policy object using the API. Details on how to create a new policy are in the Developers guide. The "Operation" attribute of the new policy must be equal to the Operation for which you are trying to change the default policy. This is stored in the "Operation" attribute of the default Policy Object. The implementation for the policy must reside in the server side subclass of VersionSeries class i.e. S_TieVersionSeries or its subclass. The implementation method must also take a server side S_LibraryObjectDefinition as a parameter and be public. The implementation is dynamically invoked. <
For more details on Policies, refer to the documentation for the Policy class.
For a description of the various lock states, refer to the documentation for the LockObject class.
Field Summary | |
static java.lang.String |
CLASS_NAME
The class name for this class. |
static java.lang.String |
DEFAULTVERSIONDESCRIPTION_ATTRIBUTE
The VersionDescription which will be used as the ResolvedPublicObject for this VersionSeries. |
static java.lang.String |
LASTVERSIONDESCRIPTION_ATTRIBUTE
The last VersionDescription in this VersionSeries. |
static java.lang.String |
LOCK_ON_NEW_VERSION_POLICY_LOCK_ALL
The out-of-the-box versioning policy for newVersion aka checkIn operation. |
static java.lang.String |
LOCK_ON_NEW_VERSION_POLICY_LOCK_NONE
An alternate versioning policy for newVersion aka checkIn operation. |
static java.lang.String |
LOCK_ON_RESERVE_NEXT_POLICY_LOCK_ALL
The out-of-the-box versioning policy for reserveNext aka checkOut operation. |
static java.lang.String |
LOCK_ON_RESERVE_NEXT_POLICY_LOCK_NONE
An alternate versioning policy for reserveNext aka checkOut operation. |
static java.lang.String |
PENDINGPUBLICOBJECT_ATTRIBUTE
Deprecated. iFS 9.0.3: this attribute will be removed in a future release |
static java.lang.String |
RESERVATIONCOMMENT_ATTRIBUTE
The check-out comment stating the purpose of the reservation. |
static java.lang.String |
RESERVATIONDATE_ATTRIBUTE
The date and time (in GMT) when the VersionSeries was reserved. |
static java.lang.String |
RESERVOR_ATTRIBUTE
The DirectoryUser that has this VersionSeries reserved for the purpose of adding a new version. |
static java.lang.String |
UNLOCK_ON_UNRESERVE_POLICY_UNLOCK_ALL
The out-of-the-box versioning policy for Unreserve aka cancelCheckOut operation. |
static java.lang.String |
UNLOCK_ON_UNRESERVE_POLICY_UNLOCK_NONE
An alternate versioning policy for unReserve aka cancelCheckOut operation. |
static java.lang.String |
VERSIONLIMIT_ATTRIBUTE
The limit of the number of versions which this VersionSeries should keep. |
static java.lang.String |
WORKPATH_ATTRIBUTE
The location of a version's content on the client's local store. |
Method Summary | |
VersionDescription |
getDefaultVersionDescription()
Returns the default version of this version series. |
VersionDescription |
getFirstVersionDescription()
Returns the first VersionDescription of this series. |
VersionDescription |
getLastVersionDescription()
Returns the last VersionDescription of this series. |
VersionDescription |
getNextVersionDescription(VersionDescription version)
Returns the next VersionDescription of this series. |
PublicObject |
getPendingPublicObject()
Deprecated. iFS 9.0.3: this attribute (and thus, this method) will be removed in a future release |
VersionDescription |
getPreviousVersionDescription(VersionDescription version)
Returns the Version description previous to the one being passed by the user. |
java.lang.String |
getReservationComment()
Returns the comment when this series was reserved, or null if this series is not reserved. |
java.util.Date |
getReservationDate()
Returns the Date that this VersionSeries was reserved, null if not reserved. |
DirectoryUser |
getReservor()
Returns the User that reserved this VersionSeries, null if not reserved |
PublicObject |
getResolvedPublicObject()
Return the PublicObject to which this object resolves. |
VersionDescription[] |
getVersionDescriptions()
Returns an array of all VersionDescriptions in this VersionSeries. |
VersionDescription |
getVersionDescriptions(int index)
Returns the specified VersionDescription of this series. |
VersionDescription[] |
getVersionDescriptions(PublicObject version)
Returns an array of VersionDescriptions which reference the versioned public object passed in (more than one VersionDescription can refer to the same PublicObject). |
java.lang.String |
getWorkpath()
Returns the value for the local file path specified when this series was reserved. |
void |
handleEvent(IfsEvent event)
Handles the specified event. |
boolean |
isReserved()
Returns true if this VersionSeries is reserved by any user. |
boolean |
isReservedByCurrentUser()
Returns true if this VersionSeries is reserved by the current user. |
boolean |
isVersioned()
Returns false always. |
VersionDescription |
newVersion(VersionDescriptionDefinition vddef)
Creates a new VersionDescription in this series from the specified VersionDescriptionDefinition. |
void |
reserveNext(java.lang.String contentPath,
java.lang.String comment)
Reserves the right to add the next version. |
void |
setDefaultVersionDescription(VersionDescription version)
Set the Default Version Description of this series. |
void |
setPendingPublicObject(PublicObject po)
Deprecated. iFS 9.0.3: this attribute (and thus, this method) will be removed in a future release |
void |
setVersionLimit(int limit)
Sets the value of the VersionLimit attribute. |
void |
unReserve()
Cancels the reservation. |
Methods inherited from class oracle.ifs.beans.LibraryObject |
equals, free, free, getAttribute, getAttributeByUpperCaseName, getAttributes, getAttributesByUpperCaseNames, getClassId, getClassObject, getDefinition, getId, getLabel, getName, getSession, invokeServerMethod, isInstanceOf, isTraced, lookupInstanceLabel, postEvent, postEvent, renderAsReader, renderAsStream, setAttribute, setAttribute, setAttributes, setAttributes, setName, toString, trace, update |
Methods inherited from interface oracle.ifs.common.LibraryObjectInterface |
getId |
Methods inherited from interface oracle.ifs.common.Traceable |
getTraceLogger, isTraced, trace |
Field Detail |
public static final java.lang.String CLASS_NAME
public static final java.lang.String DEFAULTVERSIONDESCRIPTION_ATTRIBUTE
public static final java.lang.String LASTVERSIONDESCRIPTION_ATTRIBUTE
public static final java.lang.String RESERVOR_ATTRIBUTE
public static final java.lang.String RESERVATIONDATE_ATTRIBUTE
public static final java.lang.String RESERVATIONCOMMENT_ATTRIBUTE
public static final java.lang.String WORKPATH_ATTRIBUTE
public static final java.lang.String VERSIONLIMIT_ATTRIBUTE
public static final java.lang.String PENDINGPUBLICOBJECT_ATTRIBUTE
public static final java.lang.String LOCK_ON_RESERVE_NEXT_POLICY_LOCK_ALL
public static final java.lang.String LOCK_ON_NEW_VERSION_POLICY_LOCK_ALL
SystemLockObject
public static final java.lang.String UNLOCK_ON_UNRESERVE_POLICY_UNLOCK_ALL
public static final java.lang.String LOCK_ON_RESERVE_NEXT_POLICY_LOCK_NONE
public static final java.lang.String LOCK_ON_NEW_VERSION_POLICY_LOCK_NONE
public static final java.lang.String UNLOCK_ON_UNRESERVE_POLICY_UNLOCK_NONE
Method Detail |
public void handleEvent(IfsEvent event) throws IfsException
handleEvent
in class PublicObject
event
- the eventIfsException
- if the operation failspublic java.lang.String getReservationComment() throws IfsException
getReservationComment
in class PublicObject
IfsException
- if operation fails.public VersionDescription getDefaultVersionDescription() throws IfsException
IfsException
- if operation fails.public void setDefaultVersionDescription(VersionDescription version) throws IfsException
VersionDescription
- the desired default VersionDescription.IfsException
- if operation fails.public VersionDescription[] getVersionDescriptions(PublicObject version) throws IfsException
version
- PublicObject versionIfsException
- if operation fails.public boolean isReserved() throws IfsException
isReserved
in class PublicObject
IfsException
- if operation fails.public boolean isReservedByCurrentUser() throws IfsException
isReservedByCurrentUser
in class PublicObject
IfsException
- if operation fails.public DirectoryUser getReservor() throws IfsException
getReservor
in class PublicObject
IfsException
- if operation fails.public java.util.Date getReservationDate() throws IfsException
getReservationDate
in class PublicObject
IfsException
- if operation fails.public PublicObject getPendingPublicObject() throws IfsException
IfsException
- if operation fails.public void setPendingPublicObject(PublicObject po) throws IfsException
po
- the new PublicObject that will become the next version upon a newVersion() invocation.IfsException
- if operation fails.public PublicObject getResolvedPublicObject() throws IfsException
this
). For the version classes, (Family,
VersionSeries, and VersionDescription), this will return a non
version-class object as determined by the configuration of the instance
of the version class.
This override exists to return the Pending PublicObject value if the caller is the Reservor of this VersionSeries; in all other cases, it defers to the imlementation in the superclass (PublicObject). NOTE the PendingPublicObject attribute is deprecated and will be removed in a future release
getResolvedPublicObject
in class PublicObject
IfsException
- if operation fails.PublicObject.getResolvedPublicObject()
public void setVersionLimit(int limit) throws IfsException
Equivalent to:
AttributeValue av = AttributeValue.newAttributeValue(implementation); setAttribute(VERSIONLIMIT_ATTRIBUTE, av);
limit
- the advisory version limit.IfsException
- if the operation failspublic VersionDescription getFirstVersionDescription() throws IfsException
IfsException
- if operation fails.public VersionDescription getLastVersionDescription() throws IfsException
IfsException
- if operation fails.public VersionDescription getNextVersionDescription(VersionDescription version) throws IfsException
IfsException
- if operation fails.public VersionDescription getPreviousVersionDescription(VersionDescription version) throws IfsException
version
- some VersionDescription in the seriesIfsException
- if operation fails.public java.lang.String getWorkpath() throws IfsException
IfsException
- if operation fails.public void unReserve() throws IfsException
unReserve
in class PublicObject
IfsException
- if operation fails.public VersionDescription newVersion(VersionDescriptionDefinition vddef) throws IfsException
newVersion
in class PublicObject
vddef
- VersionDescriptionDefinitionIfsException
- if operation fails.public void reserveNext(java.lang.String contentPath, java.lang.String comment) throws IfsException
reserveNext
in class PublicObject
contentPath
- path to local file of reserved contentComment
- Check in comment.IfsException
- if operation fails.public VersionDescription[] getVersionDescriptions() throws IfsException
IfsException
- if operation fails.public VersionDescription getVersionDescriptions(int index) throws IfsException
IfsException
- if operation fails.public boolean isVersioned() throws IfsException
isVersioned
in class PublicObject
IfsException
- if operation fails.
|
Oracle Content Management SDK | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |