| /* |
| * Copyright 2005 The Apache Software Foundation. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.jackrabbit.webdav.version; |
| |
| import org.apache.jackrabbit.webdav.property.DavPropertyName; |
| import org.apache.jackrabbit.webdav.property.ResourceType; |
| import org.apache.jackrabbit.webdav.DavException; |
| |
| /** |
| * <code>VersionHistoryResource</code> represents a collection that has |
| * all versions of a given version-controlled resource as members. |
| * <p/> |
| * RFC 3253 defines the following required properties for a version history: |
| * <ul> |
| * <li>DAV:version-set</li> |
| * <li>DAV:root-version</li> |
| * <li>all DeltaV-compliant resource properties.</li> |
| * </ul> |
| * <p/> |
| * In addition a version history resource must support the following METHODS: |
| * <ul> |
| * <li>all DeltaV-compliant resource METHODS.</li> |
| * </ul> |
| * |
| * NOTE: the {@link org.apache.jackrabbit.webdav.DavConstants#PROPERTY_RESOURCETYPE DAV:resourcetype} |
| * property must indicate 'DAV:version-history'. |
| * |
| * @see DeltaVResource |
| * @see ResourceType#VERSION_HISTORY |
| */ |
| public interface VersionHistoryResource extends DeltaVResource { |
| |
| // supported METHODS: same as DeltaVResource > set to empty string |
| public static final String COMPLIANCE_CLASS = ""; |
| // supported METHODS: same as DeltaVResource > set to empty string |
| public static final String METHODS = ""; |
| |
| /** |
| * Computed (protected) property identifying the root version of this version |
| * history. |
| */ |
| public static final DavPropertyName ROOT_VERSION = DavPropertyName.create("root-version", DeltaVConstants.NAMESPACE); |
| |
| /** |
| * The protected property DAV:version-set identifies each version of this |
| * version history. |
| * |
| * @see #getVersions() |
| */ |
| public static final DavPropertyName VERSION_SET = DavPropertyName.create("version-set", DeltaVConstants.NAMESPACE); |
| |
| /** |
| * Returns an array of <code>VersionResource</code>s containing all versions |
| * that are a member of this resource. |
| * |
| * @return all <code>VersionResource</code>s that belong to this version history. |
| * @throws org.apache.jackrabbit.webdav.DavException |
| * @see #VERSION_SET |
| */ |
| public VersionResource[] getVersions() throws DavException; |
| } |