View Javadoc
1   /*
2    * #%L
3    * EUGene :: EUGene
4    * %%
5    * Copyright (C) 2004 - 2010 CodeLutin
6    * %%
7    * This program is free software: you can redistribute it and/or modify
8    * it under the terms of the GNU Lesser General Public License as 
9    * published by the Free Software Foundation, either version 3 of the 
10   * License, or (at your option) any later version.
11   * 
12   * This program is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   * GNU General Lesser Public License for more details.
16   * 
17   * You should have received a copy of the GNU General Lesser Public 
18   * License along with this program.  If not, see
19   * <http://www.gnu.org/licenses/lgpl-3.0.html>.
20   * #L%
21   */
22  
23  package org.nuiton.eugene.models.object;
24  
25  import org.nuiton.eugene.models.extension.tagvalue.WithTagValuesOrStereotypes;
26  
27  import java.util.List;
28  
29  /**
30   * ObjectModelElement.
31   *
32   * @author Cédric Pineau - pineau@codelutin.com
33   */
34  public interface ObjectModelElement extends WithTagValuesOrStereotypes {
35  
36      /**
37       * Returns the name of this element.
38       *
39       * @return the name of this element.
40       */
41      String getName();
42  
43      /**
44       * Returns the element in which this element is defined, or null if there's none.
45       *
46       * @return the ObjectModelElement in which this element is defined, or null if there's none.
47       */
48      ObjectModelElement getDeclaringElement();
49  
50      /**
51       * Returns the whole documentation associated with this element (description + source documentation).
52       *
53       * @return the whole documentation associated with this element.
54       */
55      String getDocumentation();
56  
57      /**
58       * The description of this element is the upper part of the element's
59       * documentation.
60       *
61       * The other part of the document can be accessed with
62       * {@link #getSourceDocumentation()}
63       *
64       * @return the description associated with this element.
65       */
66      String getDescription();
67  
68      /**
69       * Returns the source documentation part associated with this element.
70       * Source documentation is at end of documentation and are separated of
71       * over documentation by "--"
72       *
73       * @return the source documentation part associated with this element.
74       */
75      String getSourceDocumentation();
76  
77      /**
78       * Return if this element has static declaration, only valid when
79       * getDeclaringElement is classifier. Not possible for the moment
80       * to have static innerClass (from XMI 1.2 and 2.1).
81       *
82       * @return true if element is static
83       */
84      boolean isStatic();
85  
86      /**
87       * Returns all comments lied to this particular model element
88       *
89       * @return a List containing all comments for this element as Strings.
90       */
91      List<String> getComments();
92  
93  } //ObjectModelElement