View Javadoc
1   // license-header java merge-point
2   //
3   // Attention: generated code (by Metafacade.vsl) - do not modify!
4   //
5   package org.andromda.cartridges.spring.metafacades;
6   
7   import java.util.Collection;
8   import org.andromda.metafacades.uml.ClassifierFacade;
9   import org.andromda.metafacades.uml.Entity;
10  
11  /**
12   * Represents a Spring persistent entity
13   *
14   * Metafacade interface to be used by AndroMDA cartridges.
15   */
16  public interface SpringEntity
17      extends Entity
18  {
19      /**
20       * Indicates the metafacade type (used for metafacade mappings).
21       *
22       * @return boolean always <code>true</code>
23       */
24      public boolean isSpringEntityMetaType();
25  
26      /**
27       * Returns all value object references (this includes all those that are inherited from any
28       * parent entities)
29       * @return Collection<ClassifierFacade>
30       */
31      public Collection<ClassifierFacade> getAllValueObjectReferences();
32  
33      /**
34       * A quoted comma separated list of the names of embedded values belonging to this entity (that
35       * represented as attributes)
36       * @return String
37       */
38      public String getAttributeEmbeddedValueList();
39  
40      /**
41       * Gets the Spring bean name, and optionally adds a target suffix, if 'targetSuffix' is set to
42       * true.
43       * @param targetSuffix boolean
44       * @return String
45       */
46      public String getBeanName(boolean targetSuffix);
47  
48      /**
49       * The DAO base class name.  This is the abstract DAO that contains CRUD operations
50       * as well as any generated finders defined on an entity.
51       * @return String
52       */
53      public String getDaoBaseName();
54  
55      /**
56       * The business operations modeled on the entity that will be generated on the DAO (Data Access
57       * Object).
58       * @return Collection<SpringEntityOperation>
59       */
60      public Collection<SpringEntityOperation> getDaoBusinessOperations();
61  
62      /**
63       * The DAO implementation class name.
64       * @return String
65       */
66      public String getDaoImplementationName();
67  
68      /**
69       * The name of the DAO for the specified entity.
70       * @return String
71       */
72      public String getDaoName();
73  
74      /**
75       * The constant name denoting no transformation is to be applied.
76       * @return String
77       */
78      public String getDaoNoTransformationConstantName();
79  
80      /**
81       * The implementation name for the entity.
82       * @return String
83       */
84      public String getEntityImplementationName();
85  
86      /**
87       * The name of the plain entity name.
88       * @return String
89       */
90      public String getEntityName();
91  
92      /**
93       * The fully qualified name of the base DAO.
94       * @return String
95       */
96      public String getFullyQualifiedDaoBaseName();
97  
98      /**
99       * The fully qualified name of the DAO implemetation.
100      * @return String
101      */
102     public String getFullyQualifiedDaoImplementationName();
103 
104     /**
105      * The fully qualified name of the DAO.
106      * @return String
107      */
108     public String getFullyQualifiedDaoName();
109 
110     /**
111      * The fully qualified name of the entity implementation class.
112      * @return String
113      */
114     public String getFullyQualifiedEntityImplementationName();
115 
116     /**
117      * The fully qualified name of the entity class.
118      * @return String
119      */
120     public String getFullyQualifiedEntityName();
121 
122     /**
123      * Return the value of the tagged value andromda_hibernate_inheritance.
124      * @return String
125      */
126     public String getHibernateInheritanceStrategy();
127 
128     /**
129      * Travels up the inheritance hierarchy and retrieves the root of this entity.  If the root is
130      * the entity itself then just the entity is returned.
131      * @return SpringEntity
132      */
133     public SpringEntity getRoot();
134 
135     /**
136      * A Classifier is a classification of instances - it describes a set of instances that have
137      * features
138      * in common. Can specify a generalization hierarchy by referencing its general classifiers. It
139      * may be
140      * a Class, DataType, PrimitiveType, Association, Collaboration, UseCase, etc. Can specify a
141      * generalization hierarchy by referencing its general classifiers. Has the capability to own
142      * collaboration uses. These collaboration uses link a collaboration with the classifier to give
143      * a
144      * description of the workings of the classifier. Classifier is defined to be a kind of
145      * templateable
146      * element so that a classifier can be parameterized. It is also defined to be a kind of
147      * parameterable
148      * element so that a classifier can be a formal template parameter.
149      * @return Collection<ClassifierFacade>
150      */
151     public Collection<ClassifierFacade> getValueObjectReferences();
152 
153     /**
154      * Indicates whether or not any business DAO operations are present.
155      * @return boolean
156      */
157     public boolean isDaoBusinessOperationsPresent();
158 
159     /**
160      * True if an implementation is required for the dao class, this is the case when there are
161      * business operations or value-object transformation.
162      * @return boolean
163      */
164     public boolean isDaoImplementationRequired();
165 
166     /**
167      * Return true if the hibernate inheritance strategy is class.
168      * @return boolean
169      */
170     public boolean isHibernateInheritanceClass();
171 
172     /**
173      * Return true if the hibernate inheritance strategy is concrete.
174      * @return boolean
175      */
176     public boolean isHibernateInheritanceConcrete();
177 
178     /**
179      * Return true if the hibernate inheritance strategy is interface.
180      * @return boolean
181      */
182     public boolean isHibernateInheritanceInterface();
183 
184     /**
185      * Return true if the hibernate inheritance strategy is subclass.
186      * @return boolean
187      */
188     public boolean isHibernateInheritanceSubclass();
189 
190     /**
191      * Indicates whether or not this entity requires a Hibernate mapping cfg.xml file within the
192      * Spring application context.
193      * @return boolean
194      */
195     public boolean isRequiresHibernateMapping();
196 
197     /**
198      * Returns true if this entity is meant to be used in a richt client application.
199      * @return boolean
200      */
201     public boolean isRichClient();
202 }