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 }