View Javadoc
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 }