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.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  }