View Javadoc

1   /*
2    * Copyright 2012-2013 smartics, Kronseder & Reiner GmbH
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package de.smartics.properties.api.core.domain;
17  
18  import java.io.Serializable;
19  import java.util.List;
20  
21  /**
22   * Provides read access to document meta data.
23   */
24  public interface DocumentMetaData extends Serializable
25  {
26    // ********************************* Fields *********************************
27  
28    // --- constants ------------------------------------------------------------
29  
30    // ****************************** Initializer *******************************
31  
32    // ****************************** Inner Classes *****************************
33  
34    // ********************************* Methods ********************************
35  
36    // --- get&set --------------------------------------------------------------
37  
38    /**
39     * Returns the categories associated with the document instance.
40     *
41     * @return the categories associated with the document instance.
42     */
43    List<String> getCategories();
44  
45    /**
46     * Returns the tags associated with the document instance.
47     *
48     * @return the tags associated with the document instance.
49     */
50    List<String> getTags();
51  
52    /**
53     * Returns the parents associated with the document instance.
54     *
55     * @return the parents associated with the document instance.
56     */
57    List<String> getParents();
58  
59    /**
60     * Returns the unique document identifier. It is generated by the system if
61     * not given explicitly.
62     * <p>
63     * Dependent on the evaluation context the name given here may be expanded to
64     * be unique. So the uniqueness of this key is dependent of the context.
65     * </p>
66     *
67     * @return the unique document identifier.
68     */
69    String getName();
70  
71    /**
72     * Returns the short description of the document to be incorporated in an
73     * overview table. Should not exceed one to three sentences.
74     *
75     * @return the short description of the document to be incorporated in an
76     *         overview table.
77     */
78    String getShortDescription();
79  
80    /**
81     * Returns the list of notes appended to the document instance.
82     *
83     * @return the list of notes appended to the document instance.
84     */
85    List<String> getNotes();
86  
87    /**
88     * Returns the space within which the title of a document is required to be
89     * unique.
90     *
91     * @return the space within which the title of a document is required to be
92     *         unique.
93     */
94    String getSpace();
95  
96    /**
97     * Returns the title of a document, unique within the given space.
98     *
99     * @return the title of a document, unique within the given space.
100    */
101   String getTitle();
102 
103   /**
104    * Returns the short summary of contents of the document to give more detailed
105    * information to a potential reader. Should not exceed one too three
106    * paragraphs.
107    *
108    * @return the short summary of contents of the document to give more detailed
109    *         information to a potential reader.
110    */
111   String getSummary();
112 
113   /**
114    * Returns the value for sortKey.
115    * <p>
116    * Option to sort elements. This sort key is used first for sorting the
117    * document instances in the index document of this doctype.
118    *
119    * @return the value for sortKey.
120    */
121   String getSortKey();
122 
123   /**
124    * Returns the audience the documentation targets.
125    *
126    * @return the audience the documentation targets.
127    */
128   List<String> getAudience();
129 
130   // --- business -------------------------------------------------------------
131 
132   // --- object basics --------------------------------------------------------
133 }