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 }