All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.uml2.uml.TemplateableElement Maven / Gradle / Ivy

There is a newer version: 5.0.0-v20140602-0749
Show newest version
/*
 * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   IBM - initial API and implementation
 *   Kenn Hussey (CEA) - 327039
 *
 * $Id: TemplateableElement.java,v 1.11 2007/10/23 15:54:22 jbruck Exp $
 */
package org.eclipse.uml2.uml;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EClass;

/**
 * 
 * A representation of the model object 'Templateable Element'.
 * 
 *
 * 
 * A templateable element is an element that can optionally be defined as a template and bound to other templates.
 * 
 *
 * 

* The following features are supported: *

    *
  • {@link org.eclipse.uml2.uml.TemplateableElement#getOwnedTemplateSignature Owned Template Signature}
  • *
  • {@link org.eclipse.uml2.uml.TemplateableElement#getTemplateBindings Template Binding}
  • *
*

* * @see org.eclipse.uml2.uml.UMLPackage#getTemplateableElement() * @model abstract="true" * @generated */ public interface TemplateableElement extends Element { /** * Returns the value of the 'Template Binding' containment reference list. * The list contents are of type {@link org.eclipse.uml2.uml.TemplateBinding}. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.TemplateBinding#getBoundElement Bound Element}'. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.Element#getOwnedElements() Owned Element}'
  • *
*

* * * * The optional bindings from this element to templates. * * @return the value of the 'Template Binding' containment reference list. * @see org.eclipse.uml2.uml.UMLPackage#getTemplateableElement_TemplateBinding() * @see org.eclipse.uml2.uml.TemplateBinding#getBoundElement * @model opposite="boundElement" containment="true" resolveProxies="true" ordered="false" * @generated */ EList getTemplateBindings(); /** * Creates a new {@link org.eclipse.uml2.uml.TemplateBinding}, with the specified 'Signature', and appends it to the 'Template Binding' containment reference list. * * * @param signature The 'Signature' for the new {@link org.eclipse.uml2.uml.TemplateBinding}, or null. * @return The new {@link org.eclipse.uml2.uml.TemplateBinding}. * @see #getTemplateBindings() * @generated */ TemplateBinding createTemplateBinding(TemplateSignature signature); /** * Retrieves the first {@link org.eclipse.uml2.uml.TemplateBinding} with the specified 'Signature' from the 'Template Binding' containment reference list. * * * @param signature The 'Signature' of the {@link org.eclipse.uml2.uml.TemplateBinding} to retrieve, or null. * @return The first {@link org.eclipse.uml2.uml.TemplateBinding} with the specified 'Signature', or null. * @see #getTemplateBindings() * @generated */ TemplateBinding getTemplateBinding(TemplateSignature signature); /** * Retrieves the first {@link org.eclipse.uml2.uml.TemplateBinding} with the specified 'Signature' from the 'Template Binding' containment reference list. * * * @param signature The 'Signature' of the {@link org.eclipse.uml2.uml.TemplateBinding} to retrieve, or null. * @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.TemplateBinding} on demand if not found. * @return The first {@link org.eclipse.uml2.uml.TemplateBinding} with the specified 'Signature', or null. * @see #getTemplateBindings() * @generated */ TemplateBinding getTemplateBinding(TemplateSignature signature, boolean createOnDemand); /** * Returns the value of the 'Owned Template Signature' containment reference. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.TemplateSignature#getTemplate Template}'. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.Element#getOwnedElements() Owned Element}'
  • *
*

* * * * The optional template signature specifying the formal template parameters. * * @return the value of the 'Owned Template Signature' containment reference. * @see #setOwnedTemplateSignature(TemplateSignature) * @see org.eclipse.uml2.uml.UMLPackage#getTemplateableElement_OwnedTemplateSignature() * @see org.eclipse.uml2.uml.TemplateSignature#getTemplate * @model opposite="template" containment="true" resolveProxies="true" ordered="false" * @generated */ TemplateSignature getOwnedTemplateSignature(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.TemplateableElement#getOwnedTemplateSignature Owned Template Signature}' containment reference. * * * @param value the new value of the 'Owned Template Signature' containment reference. * @see #getOwnedTemplateSignature() * @generated */ void setOwnedTemplateSignature(TemplateSignature value); /** * Creates a new {@link org.eclipse.uml2.uml.TemplateSignature} and sets the 'Owned Template Signature' containment reference. * * * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.TemplateSignature} to create. * @return The new {@link org.eclipse.uml2.uml.TemplateSignature}. * @see #getOwnedTemplateSignature() * @generated */ TemplateSignature createOwnedTemplateSignature(EClass eClass); /** * Creates a new {@link org.eclipse.uml2.uml.TemplateSignature} and sets the 'Owned Template Signature' containment reference. * * * @return The new {@link org.eclipse.uml2.uml.TemplateSignature}. * @see #getOwnedTemplateSignature() * @generated */ TemplateSignature createOwnedTemplateSignature(); /** * * * * The query parameterableElements() returns the set of elements that may be used as the parametered elements for a template parameter of this templateable element. By default, this set includes all the owned elements. Subclasses may override this operation if they choose to restrict the set of parameterable elements. * result = allOwnedElements->select(oclIsKindOf(ParameterableElement)) * * @model ordered="false" * @generated */ EList parameterableElements(); /** * * * * The query isTemplate() returns whether this templateable element is actually a template. * result = ownedTemplateSignature->notEmpty() * * @model kind="operation" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" * @generated */ boolean isTemplate(); } // TemplateableElement




© 2015 - 2025 Weber Informatics LLC | Privacy Policy