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.Collection; 008 009/** 010 * Used to group elements, and provides a namespace for the grouped elements. A package can have one 011 * or more profile applications to indicate which profiles have been applied. Because a profile is a 012 * package, it is possible to apply a profile not only to packages, but also to profiles. Package 013 * specializes TemplateableElement and PackageableElement specializes ParameterableElement to 014 * specify that a package can be used as a template and a PackageableElement as a template 015 * parameter. 016 * 017 * Metafacade interface to be used by AndroMDA cartridges. 018 */ 019public interface PackageFacade 020 extends ModelElementFacade 021{ 022 /** 023 * Indicates the metafacade type (used for metafacade mappings). 024 * 025 * @return boolean always <code>true</code> 026 */ 027 public boolean isPackageFacadeMetaType(); 028 029 /** 030 * Finds the model element with the given 'fullyQualifiedName', or returns null if one can't be 031 * found with that name. 032 * @param fullyQualifiedName String 033 * @return ModelElementFacade 034 */ 035 public ModelElementFacade findModelElement(String fullyQualifiedName); 036 037 /** 038 * Returns all classes in this package 039 * @return Collection<ClassifierFacade> 040 */ 041 public Collection<ClassifierFacade> getClasses(); 042 043 /** 044 * Gets all the model elements belonging to the root package. 045 * @return Collection<ModelElementFacade> 046 */ 047 public Collection<ModelElementFacade> getModelElements(); 048 049 /** 050 * The elements directly found in this package. 051 * @return Collection<ModelElementFacade> 052 */ 053 public Collection<ModelElementFacade> getOwnedElements(); 054 055 /** 056 * returns all packages belonging to this package. 057 * @return Collection<PackageFacade> 058 */ 059 public Collection<PackageFacade> getSubPackages(); 060 061 /** 062 * The Entity table prefix to be used for this package. 063 * @return String 064 */ 065 public String getTablePrefix(); 066}