1 // license-header java merge-point 2 // 3 // Attention: generated code (by Metafacade.vsl) - do not modify! 4 // 5 package org.andromda.cartridges.ejb.metafacades; 6 7 import java.util.Collection; 8 import java.util.List; 9 import org.andromda.metafacades.uml.Entity; 10 11 /** 12 * Represents an entity EJB. 13 * 14 * Metafacade interface to be used by AndroMDA cartridges. 15 */ 16 public interface EJBEntityFacade 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 isEJBEntityFacadeMetaType(); 25 26 /** 27 * Find all associations that define relations to other entities. 28 * This method returns the source association ends for all associations that define 29 * a container managed relation. The returned collection includes both 30 * direct relations and inherited relations. A direct relation is an association with some other 31 * class matching the following criteria: 1) The class at the other side of the association is 32 * stereotyped <<Entity>> 2) The association is navigable from to the other side. 33 * An inherited relation is an association from an abstract super type matching the following 34 * criteria: 1) The inheritance path to this abstract super type, including this super type 35 * itself, consists only of abstract classes with stereotype <<Entity>> 2) The class at the 36 * other side of the association is stereotyped <<Entity>>. 3) The association is navigable from 37 * this abstract super type to the other side. 38 * Relations must match the following integrity constraint: 39 * - The <<Entity>> at the target end is not abstract. 40 * The integrity constraint is necessary because the target of a container managed relation in 41 * the EJB framework must be a concrete entity bean; there is no such thing as an 42 * "abstract entity bean" in the EJB specification. It is possible, however, to generate and 43 * compile code for this case, an error will only show up at deploy time. In order to catch 44 * this kind of error at the earliest possible stage, this method checks the integrity 45 * constraint and throws an exception if it is violated. 46 * @return Collection 47 */ 48 public Collection getAllEntityRelations(); 49 50 /** 51 * All instanceAttributes for this entity. The list includes the instanceAttributes that are 52 * inherited from super classes. The list contains the inherited instanceAttributes first, 53 * followed by the instanceAttributes defined in this class. 54 * @return List 55 */ 56 public List getAllInstanceAttributes(); 57 58 /** 59 * Gets all constants for this entity. Constants are defined as static read-only attributes 60 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance 61 * hierachy will be followed and we'll retrieve all constants from any super types as well. 62 * @param follow boolean 63 * @return Collection 64 */ 65 public Collection getConstants(boolean follow); 66 67 /** 68 * Gets create methods for the entity. If 'follow'l is set to true, create methods from any 69 * super types will also be retrieved by following up the inheritance chain. 70 * @param follow boolean 71 * @return Collection 72 */ 73 public Collection getCreateMethods(boolean follow); 74 75 /** 76 * TODO: Model Documentation for 77 * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.entityRelations 78 * @return Collection 79 */ 80 public Collection getEntityRelations(); 81 82 /** 83 * Gets all env-entries for the specified entity EJB. Env-entries are stored as static 84 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the 85 * inheritance hierachy will be followed and we'll retrieve all env-entries from any super types 86 * as well. 87 * @param follow boolean 88 * @return Collection 89 */ 90 public Collection getEnvironmentEntries(boolean follow); 91 92 /** 93 * A String representing the name of a home interface for this entity EJB. 94 * @return String 95 */ 96 public String getHomeInterfaceName(); 97 98 /** 99 * All inherited instanceAttributes this class. The instanceAttributes are grouped by the class 100 * that defines the instanceAttributes, with instanceAttributes from the most removed super 101 * class first. 102 * @return List 103 */ 104 public List getInheritedInstanceAttributes(); 105 106 /** 107 * TODO: Model Documentation for 108 * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.jndiName 109 * @return String 110 */ 111 public String getJndiName(); 112 113 /** 114 * Gets select methods for the entity, if all is set to 'true' then ALL select methods will be 115 * retrieved (including those inherited from any superclasses). 116 * @param follow boolean 117 * @return Collection 118 */ 119 public Collection getSelectMethods(boolean follow); 120 121 /** 122 * TODO: Model Documentation for 123 * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.getSqlType 124 * @return String 125 */ 126 public String getSqlType(); 127 128 /** 129 * Gets the transaction type for this entity (i.e. REQUIRED, etc) 130 * @return String 131 */ 132 public String getTransactionType(); 133 134 /** 135 * TODO: Model Documentation for 136 * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.valueDependencies 137 * @return Collection 138 */ 139 public Collection getValueDependencies(); 140 141 /** 142 * A string indicating whether the Bean is a local or remotely accessable bean. 143 * @return String 144 */ 145 public String getViewType(); 146 147 /** 148 * TODO: Model Documentation for 149 * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.isAttributePresent 150 * @param att String 151 * @return boolean 152 */ 153 public boolean isAttributePresent(String att); 154 155 /** 156 * TODO: Model Documentation for 157 * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.isIdentifierPresent 158 * @param id String 159 * @return boolean 160 */ 161 public boolean isIdentifierPresent(String id); 162 163 /** 164 * TODO: Model Documentation for 165 * org.andromda.cartridges.ejb.metafacades.EJBEntityFacade.isOperationPresent 166 * @param op String 167 * @return boolean 168 */ 169 public boolean isOperationPresent(String op); 170 171 /** 172 * Whether or not to allow a synthetic (auto generated) create method. 173 * @return boolean 174 */ 175 public boolean isSyntheticCreateMethodAllowed(); 176 }