org.apache.jackrabbit.webdav.version
Interface VersionControlledResource

All Superinterfaces:
DavResource, DeltaVResource, VersionableResource
All Known Implementing Classes:
VersionControlledItemCollection, VersionControlledResourceImpl, WorkspaceResourceImpl

public interface VersionControlledResource
extends VersionableResource

The VersionControlledResource represents in contrast to the VersionableResource a resource, that has already been put under version-control. This resource can be checked-in, checked-out and has its own version history.

RFC 3253 defines the following required properties for a version-controlled resource (vc-resource):

checked-in vc-resource: checked-out vc-resource: If the Version-Controlled-Collection feature is supported (see section 14 of RFC 3253) the following computed property is required: If the Baseline feature is supported (see section 12 of RFC 3253), a version- controlled resource may represent a 'configuration' rather than a single resource. In this case the RFC defines the following required properties:

In addition a version-controlled resource must support the following METHODS:

checked-in vc-resource: checked-out vc-resource:

See Also:
DeltaVResource, VersionableResource

Field Summary
static DavPropertyName ACTIVITY_SET
          DAV:activity-set is a property for a checked-out resource, if the server supports the activity feature.
static DavPropertyName AUTO_MERGE_SET
          The DAV:auto-merge-set property identifies each version that the server has merged into this checked-out resource.
static DavPropertyName AUTO_VERSION
          The DAV:auto-version property determines how it responds to a method that attempts to modify its content or dead properties.
static DavPropertyName BASELINE_CONTROLLED_COLLECTION
          If the 'Baseline' feature is supported, DAV:baseline-controlled-collection is a required property of any version-controlled resource, that represents a 'configuration'.
static DavPropertyName CHECKED_IN
          The DAV:checked-in property appears on a checked-in version-controlled resource, and identifies the base version of this version-controlled resource.
static DavPropertyName CHECKED_OUT
          The DAV:checked-out property identifies the base version of this resource.
static DavPropertyName CHECKIN_FORK
          This property determines the DAV:checkin-fork property of the version that results from checking in this resource.
static DavPropertyName CHECKOUT_FORK
          This property determines the DAV:checkout-fork property of the version that results from checking in this resource.
static DavPropertyName ECLIPSED_SET
          If the 'Version-Controlled-Collection Feature' is supported the DAV:eclipsed-set property present on a collection identifies all internal members that are not version-controlled and hide a vc internal member with the same name.
static DavPropertyName MERGE_SET
          This property identifies each version that is to be merged into this checked-out resource.
static String methods_checkedIn
          Methods defined for a checked-in version-controlled resource: CHECKOUT, UPDATE, MERGE, LABEL
static String methods_checkedOut
          Methods defined for a checked-out version-controlled resource: CHECKIN, MERGE
static DavPropertyName PREDECESSOR_SET
          The DAV:predecessor-set property of a version-controlled resource points to those version resources, that are scheduled to become the predecessors of this resource when it is back checked-in.
static DavPropertyName SUBBASELINE_SET
          This property is mandatory for all checked-out version-controlled-configuration resources.
static DavPropertyName UNRESERVED
          DAV:unreserved is a property for a checked-out resource, if the server supports the activity feature.
static DavPropertyName VERSION_HISTORY
          The computed property DAV:version-history identifies the version history resource for the DAV:checked-in or DAV:checked-out version of this version-controlled resource.
 
Fields inherited from interface org.apache.jackrabbit.webdav.version.VersionableResource
METHODS
 
Fields inherited from interface org.apache.jackrabbit.webdav.version.DeltaVResource
METHODS_INCL_MKWORKSPACE
 
Method Summary
 String checkin()
          Perform a checkin on the version controlled resource.
 void checkout()
          Perform a checkout on the version controlled resource.
 VersionHistoryResource getVersionHistory()
          Returns the VersionHistoryResource, that is referenced in the 'version-history' property.
 void label(LabelInfo labelInfo)
          Modify the labels of the version referenced by the DAV:checked-in property of this checked-in version-controlled resource.
 MultiStatus merge(MergeInfo mergeInfo)
          Perform a merge on this resource using the specified MergeInfo.
 void uncheckout()
          Perform an uncheckout on the version controlled resource.
 MultiStatus update(UpdateInfo updateInfo)
          Perform an update on this resource using the specified UpdateInfo.
 
Methods inherited from interface org.apache.jackrabbit.webdav.version.VersionableResource
addVersionControl
 
Methods inherited from interface org.apache.jackrabbit.webdav.version.DeltaVResource
addWorkspace, getOptionResponse, getReferenceResources, getReport
 
Methods inherited from interface org.apache.jackrabbit.webdav.DavResource
addLockManager, addMember, alterProperties, copy, exists, getCollection, getComplianceClass, getDisplayName, getFactory, getHref, getLocator, getLock, getLocks, getMembers, getModificationTime, getProperties, getProperty, getPropertyNames, getResourcePath, getSession, getSupportedMethods, hasLock, isCollection, isLockable, lock, move, refreshLock, removeMember, removeProperty, setProperty, spool, unlock
 

Field Detail

methods_checkedIn

static final String methods_checkedIn
Methods defined for a checked-in version-controlled resource: CHECKOUT, UPDATE, MERGE, LABEL

See Also:
Constant Field Values

methods_checkedOut

static final String methods_checkedOut
Methods defined for a checked-out version-controlled resource: CHECKIN, MERGE

See Also:
Constant Field Values

AUTO_VERSION

static final DavPropertyName AUTO_VERSION
The DAV:auto-version property determines how it responds to a method that attempts to modify its content or dead properties. Possible responses include various combinations of automated checkout, write lock and checkin as well as failure until the resource is explicitely checked-out.
See RFC 3253 for a detailed description.


VERSION_HISTORY

static final DavPropertyName VERSION_HISTORY
The computed property DAV:version-history identifies the version history resource for the DAV:checked-in or DAV:checked-out version of this version-controlled resource.
The property is defined to have the following format:
 <!ELEMENT version-history (href)>
 


CHECKED_IN

static final DavPropertyName CHECKED_IN
The DAV:checked-in property appears on a checked-in version-controlled resource, and identifies the base version of this version-controlled resource. This property is removed when the resource is checked out, and then added back (identifying a new version) when the resource is checked back in.
This property is defined to have the following format:
 <!ELEMENT checked-in (href)>
 


CHECKED_OUT

static final DavPropertyName CHECKED_OUT
The DAV:checked-out property identifies the base version of this resource. It is the same that was identified by the DAV:checked-in property at the time the resource was checked out. This property is removed when the resource is checked in.
This property is defined to have the following format:
 <!ELEMENT checked-out (href)>
 

See Also:
CHECKED_IN

PREDECESSOR_SET

static final DavPropertyName PREDECESSOR_SET
The DAV:predecessor-set property of a version-controlled resource points to those version resources, that are scheduled to become the predecessors of this resource when it is back checked-in. This property is not protected, however a server may reject attempts to modify the DAV:predecessor-set of a version-controlled resource.
This property is defined to have the following format:
 <!ELEMENT predecessor-set (href+)>
 

See Also:
checkin(), VersionResource.PREDECESSOR_SET

CHECKIN_FORK

static final DavPropertyName CHECKIN_FORK
This property determines the DAV:checkin-fork property of the version that results from checking in this resource.


CHECKOUT_FORK

static final DavPropertyName CHECKOUT_FORK
This property determines the DAV:checkout-fork property of the version that results from checking in this resource.


MERGE_SET

static final DavPropertyName MERGE_SET
This property identifies each version that is to be merged into this checked-out resource. This property is set, whenever a MERGE request with the DAV:no-auto-merge flag succeeded. The client then must confirm each single merge by removing the version from the DAV:merge-set or moving it the the versions DAV:predecessor-set.
This property is defined to have the following format:
 <!ELEMENT merge-set (href*)>
 

See Also:
merge(MergeInfo)

AUTO_MERGE_SET

static final DavPropertyName AUTO_MERGE_SET
The DAV:auto-merge-set property identifies each version that the server has merged into this checked-out resource. The client should confirm that the merge has been performed correctly before moving a URL from the DAV:auto-merge-set to the DAV:predecessor-set of a checked-out resource.
This property is defined to have the following format:
 <!ELEMENT auto-merge-set (href*)>
 

See Also:
merge(MergeInfo)

UNRESERVED

static final DavPropertyName UNRESERVED
DAV:unreserved is a property for a checked-out resource, if the server supports the activity feature.
It indicates whether the DAV:activity-set of another checked-out resource associated with the version history of this version-controlled resource can have an activity that is in the DAV:activity-set property of this checked-out resource.
A result of the requirement that an activity must form a single line of descent through a given version history is that if multiple checked-out resources for a given version history are checked out unreserved into a single activity, only the first CHECKIN will succeed. Before another of these checked-out resources can be checked in, the user will first have to merge into that checked-out resource the latest version selected by that activity from that version history, and then modify the DAV:predecessor-set of that checked-out resource to identify that version.

This property is defined to have the following format:

 <!ELEMENT unreserved (#PCDATA)>
 PCDATA value: boolean
 

See Also:
VersionResource.ACTIVITY_SET

ACTIVITY_SET

static final DavPropertyName ACTIVITY_SET
DAV:activity-set is a property for a checked-out resource, if the server supports the activity feature.
This property determines the DAV:activity-set property of the version that results from checking in this resource.

See Also:
VersionResource.ACTIVITY_SET

ECLIPSED_SET

static final DavPropertyName ECLIPSED_SET
If the 'Version-Controlled-Collection Feature' is supported the DAV:eclipsed-set property present on a collection identifies all internal members that are not version-controlled and hide a vc internal member with the same name.

This property is defined to have the following format:

 <!ELEMENT eclipsed-set (binding-name*)>
 <!ELEMENT binding-name (#PCDATA)>
 PCDATA value: URL segment
 

See Also:
VersionResource.VERSION_CONTROLLED_BINDING_SET

BASELINE_CONTROLLED_COLLECTION

static final DavPropertyName BASELINE_CONTROLLED_COLLECTION
If the 'Baseline' feature is supported, DAV:baseline-controlled-collection is a required property of any version-controlled resource, that represents a 'configuration'. It identifies the collection that contains the version-controlled resources whose versions are tracked by this configuration.

This property is defined to have the following format:

 <!ELEMENT baseline-controlled-collection (href)>
 
Note that the DAV:baseline-controlled-collection represents a HrefProperty

See Also:
for the corresponding property, that is required for all resources that are contained in this version-controlled-configuration.

SUBBASELINE_SET

static final DavPropertyName SUBBASELINE_SET
This property is mandatory for all checked-out version-controlled-configuration resources. It determines the DAV:subbaseline-set property of the baseline that results from checking in this resource.

This property is defined to have the following format:

 <!ELEMENT subbaseline-set (href*)>
 
Note that the DAV:baseline-controlled-collection represents a HrefProperty

See Also:
BaselineResource.SUBBASELINE_SET
Method Detail

checkin

String checkin()
               throws DavException
Perform a checkin on the version controlled resource.

Returns:
String representing the location of the version created by the checkin.
Throws:
DavException - if an error occurs.

checkout

void checkout()
              throws DavException
Perform a checkout on the version controlled resource.

Throws:
DavException

uncheckout

void uncheckout()
                throws DavException
Perform an uncheckout on the version controlled resource.

Throws:
DavException

update

MultiStatus update(UpdateInfo updateInfo)
                   throws DavException
Perform an update on this resource using the specified UpdateInfo.

Parameters:
updateInfo -
Returns:
MultiStatus containing the list of resources that have been modified by this update call.
Throws:
DavException

merge

MultiStatus merge(MergeInfo mergeInfo)
                  throws DavException
Perform a merge on this resource using the specified MergeInfo.

Parameters:
mergeInfo -
Returns:
MultiStatus containing the list of resources that have been modified.
Throws:
DavException

label

void label(LabelInfo labelInfo)
           throws DavException
Modify the labels of the version referenced by the DAV:checked-in property of this checked-in version-controlled resource. If the resource is not checked-in the request must fail.

Parameters:
labelInfo -
Throws:
DavException
See Also:
LabelInfo, for the pre- and postcondition of a successful LABEL request.

getVersionHistory

VersionHistoryResource getVersionHistory()
                                         throws DavException
Returns the VersionHistoryResource, that is referenced in the 'version-history' property.

Returns:
Throws:
DavException


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.