001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.cartridges.spring.metafacades; 006 007import java.util.Collection; 008import org.andromda.metafacades.uml.ClassifierFacade; 009import org.andromda.metafacades.uml.Entity; 010 011/** 012 * Represents a Spring persistent entity 013 * 014 * Metafacade interface to be used by AndroMDA cartridges. 015 */ 016public interface SpringEntity 017 extends Entity 018{ 019 /** 020 * Indicates the metafacade type (used for metafacade mappings). 021 * 022 * @return boolean always <code>true</code> 023 */ 024 public boolean isSpringEntityMetaType(); 025 026 /** 027 * Returns all value object references (this includes all those that are inherited from any 028 * parent entities) 029 * @return Collection<ClassifierFacade> 030 */ 031 public Collection<ClassifierFacade> getAllValueObjectReferences(); 032 033 /** 034 * A quoted comma separated list of the names of embedded values belonging to this entity (that 035 * represented as attributes) 036 * @return String 037 */ 038 public String getAttributeEmbeddedValueList(); 039 040 /** 041 * Gets the Spring bean name, and optionally adds a target suffix, if 'targetSuffix' is set to 042 * true. 043 * @param targetSuffix boolean 044 * @return String 045 */ 046 public String getBeanName(boolean targetSuffix); 047 048 /** 049 * The DAO base class name. This is the abstract DAO that contains CRUD operations 050 * as well as any generated finders defined on an entity. 051 * @return String 052 */ 053 public String getDaoBaseName(); 054 055 /** 056 * The business operations modeled on the entity that will be generated on the DAO (Data Access 057 * Object). 058 * @return Collection<SpringEntityOperation> 059 */ 060 public Collection<SpringEntityOperation> getDaoBusinessOperations(); 061 062 /** 063 * The DAO implementation class name. 064 * @return String 065 */ 066 public String getDaoImplementationName(); 067 068 /** 069 * The name of the DAO for the specified entity. 070 * @return String 071 */ 072 public String getDaoName(); 073 074 /** 075 * The constant name denoting no transformation is to be applied. 076 * @return String 077 */ 078 public String getDaoNoTransformationConstantName(); 079 080 /** 081 * The implementation name for the entity. 082 * @return String 083 */ 084 public String getEntityImplementationName(); 085 086 /** 087 * The name of the plain entity name. 088 * @return String 089 */ 090 public String getEntityName(); 091 092 /** 093 * The fully qualified name of the base DAO. 094 * @return String 095 */ 096 public String getFullyQualifiedDaoBaseName(); 097 098 /** 099 * 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}