This project has retired. For details please refer to its Attic page.
ObjectData xref
View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   * http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.chemistry.opencmis.commons.data;
20  
21  import java.util.List;
22  
23  import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
24  
25  /**
26   * Base object for CMIS documents, folders, relationships, policies, and items.
27   */
28  public interface ObjectData extends ExtensionsData {
29  
30      /**
31       * Returns the object ID.
32       * 
33       * @return the object ID or {@code null} if the object ID is unknown
34       */
35      String getId();
36  
37      /**
38       * Returns the base object type.
39       * 
40       * @return the base object type or {@code null} if the base object type is
41       *         unknown
42       */
43      BaseTypeId getBaseTypeId();
44  
45      /**
46       * Returns the object properties. The properties can be incomplete if a
47       * property filter was used.
48       * 
49       * @return the properties or {@code null} if no properties are known
50       */
51      Properties getProperties();
52  
53      /**
54       * Returns the allowable actions.
55       * 
56       * @return the allowable actions or {@code null} if the allowable actions
57       *         are unknown
58       */
59      AllowableActions getAllowableActions();
60  
61      /**
62       * Returns the relationships from and to this object.
63       * 
64       * @return the list of relationship objects, not {@code null}
65       */
66      List<ObjectData> getRelationships();
67  
68      /**
69       * Returns the change event infos.
70       * 
71       * @return the change event infos or {@code null} if the infos are unknown
72       */
73      ChangeEventInfo getChangeEventInfo();
74  
75      /**
76       * Returns the access control list.
77       * 
78       * @return the access control list or {@code null} if the access control
79       *         list is unknown
80       */
81      Acl getAcl();
82  
83      /**
84       * Returns if the access control list reflects the exact permission set in
85       * the repository.
86       * 
87       * @return {@code true} - exact; {@code false} - not exact, other permission
88       *         constraints exist; {@code null} - unknown
89       */
90      Boolean isExactAcl();
91  
92      /**
93       * Returns the IDs of the applied policies.
94       * 
95       * @return the policy IDs or {@code null} if no policies are applied or the
96       *         IDs are unknown
97       */
98      PolicyIdList getPolicyIds();
99  
100     /**
101      * Returns the renditions of this object.
102      * 
103      * @return the list of renditions, not {@code null}
104      */
105     List<RenditionData> getRenditions();
106 }