001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.metafacades.uml; 006 007import java.util.List; 008 009/** 010 * An Entity that is Manageable: will produce CRUD operations in the EntityManager implementation. 011 * 012 * Metafacade interface to be used by AndroMDA cartridges. 013 */ 014public interface ManageableEntity 015 extends Entity 016{ 017 /** 018 * Indicates the metafacade type (used for metafacade mappings). 019 * 020 * @return boolean always <code>true</code> 021 */ 022 public boolean isManageableEntityMetaType(); 023 024 /** 025 * All entities to which can be browsed from this entity. Currently this property will simple 026 * hold all entities, so the value is the same for any arbitrary entity. Hiding entities can be 027 * done in the presentation tier, for example depending on runtime security information. 028 * @return List<ManageableEntity> 029 */ 030 public List<ManageableEntity> getAllManageables(); 031 032 /** 033 * The attribute used as a key link to display values for this entity. 034 * @return ManageableEntityAttribute 035 */ 036 public ManageableEntityAttribute getDisplayAttribute(); 037 038 /** 039 * The fully qualified service name of the entity. 040 * @return String 041 */ 042 public String getFullyQualifiedManageableServiceName(); 043 044 /** 045 * The associations to other entities from this entity. 046 * @return List<ManageableEntityAssociationEnd> 047 */ 048 public List<ManageableEntityAssociationEnd> getManageableAssociationEnds(); 049 050 /** 051 * Lists the attributes that can be managed for this entity. This feature is particularly 052 * important when resolving inherited attributes and ids. 053 * @return List<ManageableEntityAttribute> 054 */ 055 public List<ManageableEntityAttribute> getManageableAttributes(); 056 057 /** 058 * The identifier used when managing this entity. 059 * @return ManageableEntityAttribute 060 */ 061 public ManageableEntityAttribute getManageableIdentifier(); 062 063 /** 064 * ManageableAttributes and ManageableAssociationEnds 065 * @return List<ModelElementFacade> 066 */ 067 public List<ModelElementFacade> getManageableMembers(); 068 069 /** 070 * The entity package name. 071 * @return String 072 */ 073 public String getManageablePackageName(); 074 075 /** 076 * The Package path of the Entity 077 * @return String 078 */ 079 public String getManageablePackagePath(); 080 081 /** 082 * The entity accessor (getter) call. 083 * @return String 084 */ 085 public String getManageableServiceAccessorCall(); 086 087 /** 088 * The service full path of the entity. 089 * @return String 090 */ 091 public String getManageableServiceFullPath(); 092 093 /** 094 * The service name of the entity. 095 * @return String 096 */ 097 public String getManageableServiceName(); 098 099 /** 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}