KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > slide > webdav > util > resourcekind > VersionControlledImpl


1 /*
2  * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/resourcekind/VersionControlledImpl.java,v 1.5 2004/08/05 14:43:32 dflorey Exp $
3  * $Revision: 1.5 $
4  * $Date: 2004/08/05 14:43:32 $
5  *
6  * ====================================================================
7  *
8  * Copyright 1999-2002 The Apache Software Foundation
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  *
22  */

23
24 package org.apache.slide.webdav.util.resourcekind;
25
26 import java.util.Set JavaDoc;
27
28
29 public class VersionControlledImpl extends AbstractResourceKind implements VersionControlled {
30     
31     protected static ResourceKind singleton = null;
32     
33     /**
34      * Factory method.
35      */

36     static public ResourceKind getInstance() {
37         if( singleton == null )
38             singleton = new VersionControlledImpl();
39         return singleton;
40     }
41     
42     /**
43      * Protected constructor
44      */

45     protected VersionControlledImpl() {
46     }
47
48     /**
49      * Get the set properties supported by this resource kind.
50      * @param filter Q_PROTECTED_ONLY or Q_COMPUTED_ONLY (no filtering if null)
51      * @param excludedFeatures array of F_* constants (no filtering if null or empty)
52      * @see org.apache.slide.webdav.util.WebdavConstants
53      * @see org.apache.slide.webdav.util.DeltavConstants
54      * @see org.apache.slide.webdav.util.AclConstants
55      * @see org.apache.slide.webdav.util.DaslConstants
56      */

57     public Set JavaDoc getSupportedLiveProperties( String JavaDoc[] excludedFeatures ) {
58         Set JavaDoc s = super.getSupportedLiveProperties( excludedFeatures );
59         if( isSupportedFeature(F_VERSION_CONTROL, excludedFeatures) )
60             s.add( P_AUTO_VERSION );
61         if( isSupportedFeature(F_VERSION_HISTORY, excludedFeatures) )
62             s.add( P_VERSION_HISTORY );
63         return s;
64     }
65
66     /**
67      * Get the set methods supported by this resource kind.
68      */

69     public Set JavaDoc getSupportedMethods() {
70         Set JavaDoc s = super.getSupportedMethods();
71         if( isSupportedFeature(F_VERSION_CONTROL) )
72             s.add( M_VERSION_CONTROL );
73         if( isSupportedFeature(F_MERGE) )
74             s.add( M_MERGE );
75         return s;
76     }
77
78     /**
79      * Get the set reports supported by this resource kind.
80      */

81     public Set JavaDoc getSupportedReports() {
82         Set JavaDoc s = super.getSupportedReports();
83         if( isSupportedFeature(F_VERSION_CONTROL) )
84             s.add( R_VERSION_TREE );
85         return s;
86     }
87 }
88
89
Popular Tags