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   import org.andromda.core.metafacade.ModelValidationMessage;
9   
10  /**
11   * Represents the model object 'Template Parameter Substitution'. Relates the actual parameter(s) to
12   * a formal template parameter as part of a template binding.
13   *
14   * Metafacade interface to be used by AndroMDA cartridges.
15   */
16  public interface TemplateArgumentFacade
17  {
18      /**
19       * Indicates the metafacade type (used for metafacade mappings).
20       *
21       * @return boolean always <code>true</code>
22       */
23      public boolean isTemplateArgumentFacadeMetaType();
24  
25      /**
26       * Provides any required initialization of the metafacade.
27       */
28      void initialize();
29  
30      /**
31       * Gets the metafacade that acts as the <code>owner</code> of this metafacade.
32       * (for example: an operation is an owner of its parameters, etc). This is used
33       * by AndroMDA's validation framework to provide more context as to where the
34       * error has occurred.
35       * @return Object the Validation Owner
36       */
37      public Object getValidationOwner();
38  
39      /**
40       * Gets the name of the metafacade used within validation messages.  This provides
41       * the full name of the metafacade.
42       * @return String the Validation Name
43       */
44      public String getValidationName();
45  
46      /**
47       * Performs validation of any invariants found on this model element
48       * and stores the messages within the <code>validationMessages</code>
49       * collection.
50       *
51       * @param validationMessages the collection of messages to which additional
52       *        validation messages will be added if invariants are broken.
53       */
54      void validateInvariants(Collection<ModelValidationMessage> validationMessages);
55  
56      /**
57       * Represents a model element. It may be an Element or NamedElement. A named element is an
58       * element in a
59       * model that may have a name. An element is a constituent of a model. As such, it has the
60       * capability
61       * of owning other elements.
62       * @return ModelElementFacade
63       */
64      public ModelElementFacade getElement();
65  }