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  
24  package org.nuiton.eugene.models.object;
25  
26  /**
27   * Modifiers that can be used
28   *
29   * Created: 3 nov. 2009
30   *
31   * @author Florian Desbois - desbois@codelutin.com
32   */
33  public interface ObjectModelModifier {
34  
35      // Still present only for backward compatibility. Please use ObjectModelJavaModifier.*
36      @Deprecated
37      ObjectModelModifier STATIC = ObjectModelJavaModifier.STATIC;
38  
39      @Deprecated
40      ObjectModelModifier FINAL = ObjectModelJavaModifier.FINAL;
41  
42      @Deprecated
43      ObjectModelModifier ABSTRACT = ObjectModelJavaModifier.ABSTRACT;
44  
45      @Deprecated
46      ObjectModelModifier TRANSIENT = ObjectModelJavaModifier.TRANSIENT;
47  
48      @Deprecated
49      ObjectModelModifier PUBLIC = ObjectModelJavaModifier.PUBLIC;
50  
51      @Deprecated
52      ObjectModelModifier PROTECTED = ObjectModelJavaModifier.PROTECTED;
53  
54      @Deprecated
55      ObjectModelModifier PRIVATE = ObjectModelJavaModifier.PRIVATE;
56  
57      @Deprecated
58      ObjectModelModifier PACKAGE = ObjectModelJavaModifier.PACKAGE;
59  
60      // Still present only for backward compatibility. Please use ObjectModelUMLModifier.*
61      @Deprecated
62      ObjectModelModifier AGGREGATE = ObjectModelUMLModifier.AGGREGATE;
63  
64      @Deprecated
65      ObjectModelModifier COMPOSITE = ObjectModelUMLModifier.COMPOSITE;
66  
67      @Deprecated
68      ObjectModelModifier UNIQUE = ObjectModelUMLModifier.UNIQUE;
69  
70      @Deprecated
71      ObjectModelModifier ORDERED = ObjectModelUMLModifier.ORDERED;
72  
73      @Deprecated
74      ObjectModelModifier NAVIGABLE = ObjectModelUMLModifier.NAVIGABLE;
75  
76      /**
77       * @return true is the current ObjectModelModifier is a Java visibility
78       */
79      boolean isVisibility();
80  
81      /**
82       * @return true is the current ObjectModelModifier is an UML association
83       * type
84       */
85      boolean isAssociationType();
86  
87      /**
88       * @return the name of the constant. This refers to Enum.name().
89       */
90      String getName();
91  
92  }