1 /**
2 * (c) Mod4j and contributors
3 *
4 * $Id$
5 */
6 package org.mod4j.crossx.mm.crossx;
7
8 import org.eclipse.emf.common.util.EList;
9
10 import org.eclipse.emf.ecore.EObject;
11
12 /**
13 * <!-- begin-user-doc -->
14 * A representation of the model object '<em><b>Symbol</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * <p>
18 * The following features are supported:
19 * <ul>
20 * <li>{@link org.mod4j.crossx.mm.crossx.Symbol#getName <em>Name</em>}</li>
21 * <li>{@link org.mod4j.crossx.mm.crossx.Symbol#getType <em>Type</em>}</li>
22 * <li>{@link org.mod4j.crossx.mm.crossx.Symbol#getProperties <em>Properties</em>}</li>
23 * <li>{@link org.mod4j.crossx.mm.crossx.Symbol#getSubSymbols <em>Sub Symbols</em>}</li>
24 * <li>{@link org.mod4j.crossx.mm.crossx.Symbol#getOwner <em>Owner</em>}</li>
25 * <li>{@link org.mod4j.crossx.mm.crossx.Symbol#getParent <em>Parent</em>}</li>
26 * </ul>
27 * </p>
28 *
29 * @see org.mod4j.crossx.mm.crossx.CrossxPackage#getSymbol()
30 * @model
31 * @generated
32 */
33 public interface Symbol extends EObject {
34 /**
35 * Returns the value of the '<em><b>Name</b></em>' attribute.
36 * <!-- begin-user-doc -->
37 * <p>
38 * If the meaning of the '<em>Name</em>' attribute isn't clear,
39 * there really should be more of a description here...
40 * </p>
41 * <!-- end-user-doc -->
42 * @return the value of the '<em>Name</em>' attribute.
43 * @see #setName(String)
44 * @see org.mod4j.crossx.mm.crossx.CrossxPackage#getSymbol_Name()
45 * @model
46 * @generated
47 */
48 String getName();
49
50 /**
51 * Sets the value of the '{@link org.mod4j.crossx.mm.crossx.Symbol#getName <em>Name</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @param value the new value of the '<em>Name</em>' attribute.
55 * @see #getName()
56 * @generated
57 */
58 void setName(String value);
59
60 /**
61 * Returns the value of the '<em><b>Type</b></em>' attribute.
62 * <!-- begin-user-doc -->
63 * <p>
64 * If the meaning of the '<em>Type</em>' attribute isn't clear,
65 * there really should be more of a description here...
66 * </p>
67 * <!-- end-user-doc -->
68 * @return the value of the '<em>Type</em>' attribute.
69 * @see #setType(String)
70 * @see org.mod4j.crossx.mm.crossx.CrossxPackage#getSymbol_Type()
71 * @model
72 * @generated
73 */
74 String getType();
75
76 /**
77 * Sets the value of the '{@link org.mod4j.crossx.mm.crossx.Symbol#getType <em>Type</em>}' attribute.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @param value the new value of the '<em>Type</em>' attribute.
81 * @see #getType()
82 * @generated
83 */
84 void setType(String value);
85
86 /**
87 * Returns the value of the '<em><b>Properties</b></em>' containment reference list.
88 * The list contents are of type {@link org.mod4j.crossx.mm.crossx.SymbolProperty}.
89 * <!-- begin-user-doc -->
90 * <p>
91 * If the meaning of the '<em>Properties</em>' containment reference list isn't clear,
92 * there really should be more of a description here...
93 * </p>
94 * <!-- end-user-doc -->
95 * @return the value of the '<em>Properties</em>' containment reference list.
96 * @see org.mod4j.crossx.mm.crossx.CrossxPackage#getSymbol_Properties()
97 * @model containment="true"
98 * @generated
99 */
100 EList<SymbolProperty> getProperties();
101
102 /**
103 * Returns the value of the '<em><b>Sub Symbols</b></em>' containment reference list.
104 * The list contents are of type {@link org.mod4j.crossx.mm.crossx.Symbol}.
105 * It is bidirectional and its opposite is '{@link org.mod4j.crossx.mm.crossx.Symbol#getParent <em>Parent</em>}'.
106 * <!-- begin-user-doc -->
107 * <p>
108 * If the meaning of the '<em>Sub Symbols</em>' containment reference list isn't clear,
109 * there really should be more of a description here...
110 * </p>
111 * <!-- end-user-doc -->
112 * @return the value of the '<em>Sub Symbols</em>' containment reference list.
113 * @see org.mod4j.crossx.mm.crossx.CrossxPackage#getSymbol_SubSymbols()
114 * @see org.mod4j.crossx.mm.crossx.Symbol#getParent
115 * @model opposite="parent" containment="true"
116 * @generated
117 */
118 EList<Symbol> getSubSymbols();
119
120 /**
121 * Returns the value of the '<em><b>Owner</b></em>' container reference.
122 * It is bidirectional and its opposite is '{@link org.mod4j.crossx.mm.crossx.ModelInfo#getSymbols <em>Symbols</em>}'.
123 * <!-- begin-user-doc -->
124 * <p>
125 * If the meaning of the '<em>Owner</em>' container reference isn't clear,
126 * there really should be more of a description here...
127 * </p>
128 * <!-- end-user-doc -->
129 * @return the value of the '<em>Owner</em>' container reference.
130 * @see #setOwner(ModelInfo)
131 * @see org.mod4j.crossx.mm.crossx.CrossxPackage#getSymbol_Owner()
132 * @see org.mod4j.crossx.mm.crossx.ModelInfo#getSymbols
133 * @model opposite="symbols" transient="false"
134 * @generated
135 */
136 ModelInfo getOwner();
137
138 /**
139 * Sets the value of the '{@link org.mod4j.crossx.mm.crossx.Symbol#getOwner <em>Owner</em>}' container reference.
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @param value the new value of the '<em>Owner</em>' container reference.
143 * @see #getOwner()
144 * @generated
145 */
146 void setOwner(ModelInfo value);
147
148 /**
149 * Returns the value of the '<em><b>Parent</b></em>' container reference.
150 * It is bidirectional and its opposite is '{@link org.mod4j.crossx.mm.crossx.Symbol#getSubSymbols <em>Sub Symbols</em>}'.
151 * <!-- begin-user-doc -->
152 * <p>
153 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
154 * there really should be more of a description here...
155 * </p>
156 * <!-- end-user-doc -->
157 * @return the value of the '<em>Parent</em>' container reference.
158 * @see #setParent(Symbol)
159 * @see org.mod4j.crossx.mm.crossx.CrossxPackage#getSymbol_Parent()
160 * @see org.mod4j.crossx.mm.crossx.Symbol#getSubSymbols
161 * @model opposite="subSymbols" transient="false"
162 * @generated
163 */
164 Symbol getParent();
165
166 /**
167 * Sets the value of the '{@link org.mod4j.crossx.mm.crossx.Symbol#getParent <em>Parent</em>}' container reference.
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @param value the new value of the '<em>Parent</em>' container reference.
171 * @see #getParent()
172 * @generated
173 */
174 void setParent(Symbol value);
175
176 } // Symbol