1 // license-header java merge-point 2 // 3 // Attention: generated code (by Metafacade.vsl) - do not modify! 4 // 5 package org.andromda.metafacades.uml; 6 7 import java.util.List; 8 9 /** 10 * An Entity that is Manageable: will produce CRUD operations in the EntityManager implementation. 11 * 12 * Metafacade interface to be used by AndroMDA cartridges. 13 */ 14 public interface ManageableEntity 15 extends Entity 16 { 17 /** 18 * Indicates the metafacade type (used for metafacade mappings). 19 * 20 * @return boolean always <code>true</code> 21 */ 22 public boolean isManageableEntityMetaType(); 23 24 /** 25 * All entities to which can be browsed from this entity. Currently this property will simple 26 * hold all entities, so the value is the same for any arbitrary entity. Hiding entities can be 27 * done in the presentation tier, for example depending on runtime security information. 28 * @return List<ManageableEntity> 29 */ 30 public List<ManageableEntity> getAllManageables(); 31 32 /** 33 * The attribute used as a key link to display values for this entity. 34 * @return ManageableEntityAttribute 35 */ 36 public ManageableEntityAttribute getDisplayAttribute(); 37 38 /** 39 * The fully qualified service name of the entity. 40 * @return String 41 */ 42 public String getFullyQualifiedManageableServiceName(); 43 44 /** 45 * The associations to other entities from this entity. 46 * @return List<ManageableEntityAssociationEnd> 47 */ 48 public List<ManageableEntityAssociationEnd> getManageableAssociationEnds(); 49 50 /** 51 * Lists the attributes that can be managed for this entity. This feature is particularly 52 * important when resolving inherited attributes and ids. 53 * @return List<ManageableEntityAttribute> 54 */ 55 public List<ManageableEntityAttribute> getManageableAttributes(); 56 57 /** 58 * The identifier used when managing this entity. 59 * @return ManageableEntityAttribute 60 */ 61 public ManageableEntityAttribute getManageableIdentifier(); 62 63 /** 64 * ManageableAttributes and ManageableAssociationEnds 65 * @return List<ModelElementFacade> 66 */ 67 public List<ModelElementFacade> getManageableMembers(); 68 69 /** 70 * The entity package name. 71 * @return String 72 */ 73 public String getManageablePackageName(); 74 75 /** 76 * The Package path of the Entity 77 * @return String 78 */ 79 public String getManageablePackagePath(); 80 81 /** 82 * The entity accessor (getter) call. 83 * @return String 84 */ 85 public String getManageableServiceAccessorCall(); 86 87 /** 88 * The service full path of the entity. 89 * @return String 90 */ 91 public String getManageableServiceFullPath(); 92 93 /** 94 * The service name of the entity. 95 * @return String 96 */ 97 public String getManageableServiceName(); 98 99 /** 100 * The maximum number of rows to load from the database. 101 * @return int 102 */ 103 public int getMaximumListSize(); 104 105 /** 106 * The maximum number of rows to load from the database. 107 * @return int 108 */ 109 public int getPageSize(); 110 111 /** 112 * Other Manageable Entities which reference this entity. 113 * @return List<ManageableEntity> 114 */ 115 public List<ManageableEntity> getReferencingManageables(); 116 117 /** 118 * The Actors (Roles) which can manage the Entity. 119 * @return List<ActorFacade> 120 */ 121 public List<ActorFacade> getUsers(); 122 123 /** 124 * Create a create operation on the entity manager? 125 * @return boolean 126 */ 127 public boolean isCreate(); 128 129 /** 130 * Create a delete operation on the entity manager? 131 * @return boolean 132 */ 133 public boolean isDelete(); 134 135 /** 136 * True: Entity is manageable. 137 * @return boolean 138 */ 139 public boolean isManageable(); 140 141 /** 142 * Create a read operation on the entity manager? 143 * @return boolean 144 */ 145 public boolean isRead(); 146 147 /** 148 * The maximum number of rows to load from the database. 149 * @return boolean 150 */ 151 public boolean isResolveable(); 152 153 /** 154 * Create an update operation on the entity manager? 155 * @return boolean 156 */ 157 public boolean isUpdate(); 158 159 /** 160 * Returns a string with the attributes without wrapper types. 161 * @param withTypes boolean 162 * @return String 163 */ 164 public String listManageableMembers(boolean withTypes); 165 166 /** 167 * Returns a string with the attributes and wrapper types. 168 * @return String 169 */ 170 public String listManageableMembersWithWrapperTypes(); 171 }