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.Collection;
8
9 /**
10 * Used to group elements, and provides a namespace for the grouped elements. A package can have one
11 * or more profile applications to indicate which profiles have been applied. Because a profile is a
12 * package, it is possible to apply a profile not only to packages, but also to profiles. Package
13 * specializes TemplateableElement and PackageableElement specializes ParameterableElement to
14 * specify that a package can be used as a template and a PackageableElement as a template
15 * parameter.
16 *
17 * Metafacade interface to be used by AndroMDA cartridges.
18 */
19 public interface PackageFacade
20 extends ModelElementFacade
21 {
22 /**
23 * Indicates the metafacade type (used for metafacade mappings).
24 *
25 * @return boolean always <code>true</code>
26 */
27 public boolean isPackageFacadeMetaType();
28
29 /**
30 * Finds the model element with the given 'fullyQualifiedName', or returns null if one can't be
31 * found with that name.
32 * @param fullyQualifiedName String
33 * @return ModelElementFacade
34 */
35 public ModelElementFacade findModelElement(String fullyQualifiedName);
36
37 /**
38 * Returns all classes in this package
39 * @return Collection<ClassifierFacade>
40 */
41 public Collection<ClassifierFacade> getClasses();
42
43 /**
44 * Gets all the model elements belonging to the root package.
45 * @return Collection<ModelElementFacade>
46 */
47 public Collection<ModelElementFacade> getModelElements();
48
49 /**
50 * The elements directly found in this package.
51 * @return Collection<ModelElementFacade>
52 */
53 public Collection<ModelElementFacade> getOwnedElements();
54
55 /**
56 * returns all packages belonging to this package.
57 * @return Collection<PackageFacade>
58 */
59 public Collection<PackageFacade> getSubPackages();
60
61 /**
62 * The Entity table prefix to be used for this package.
63 * @return String
64 */
65 public String getTablePrefix();
66 }