View Javadoc

1   /***
2    * Cecilia ADL Compiler
3    *
4    * This library is free software; you can redistribute it and/or
5    * modify it under the terms of the GNU Lesser General Public
6    * License as published by the Free Software Foundation; either
7    * version 2 of the License, or (at your option) any later version.
8    *
9    * This library is distributed in the hope that it will be useful,
10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   * Lesser General Public License for more details.
13   *
14   * You should have received a copy of the GNU Lesser General Public
15   * License along with this library; if not, write to the Free Software
16   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17   *
18   * Contact: fractal@objectweb.org
19   *
20   * Author: Alessio Pace, Lionel Debroux
21   */
22  
23  package org.objectweb.fractal.cecilia.adl.idl.ast;
24  
25  /**
26   * An AST Node type to represent an enumerated type.
27   */
28  public interface EnumDefinition extends IDLDefinition {
29  
30    /**
31     * Returns the <code>enumNameValuePair</code> sub-elements.
32     * 
33     * @return the <code>enumNameValuePair</code> sub-elements.
34     */
35    EnumNameValuePair[] getEnumNameValuePairs();
36  
37    /**
38     * Adds a <code>enumNameValuePair</code> sub-element.
39     * 
40     * @param pair a <code>enumNameValuePair</code> sub-element to add.
41     */
42    void addEnumNameValuePair(EnumNameValuePair pair);
43  
44    /**
45     * Removes a <code>enumNameValuePair</code> sub-element.
46     * 
47     * @param pair a <code>enumNameValuePair</code> sub-element to remove.
48     */
49    void removeEnumNameValuePair(EnumNameValuePair pair);
50  }