org.eclipse.uml2.uml
Interface TemplateBinding

All Superinterfaces:
DirectedRelationship, Element, EModelElement, EObject, Notifier, Relationship

public interface TemplateBinding
extends DirectedRelationship

A representation of the model object 'Template Binding'. A template binding represents a relationship between a templateable element and a template. A template binding specifies the substitutions of actual parameters for the formal parameters of the template.

The following features are supported:

See Also:
UMLPackage.getTemplateBinding()

Method Summary
 TemplateParameterSubstitution createParameterSubstitution()
          Creates a new TemplateParameterSubstitution and appends it to the 'Parameter Substitution' containment reference list
 TemplateableElement getBoundElement()
          Returns the value of the 'Bound Element' container reference.
 EList getParameterSubstitutions()
          Returns the value of the 'Parameter Substitution' containment reference list.
 TemplateSignature getSignature()
          Returns the value of the 'Signature' reference
 void setBoundElement(TemplateableElement value)
          Sets the value of the 'Bound Element' container reference
 void setSignature(TemplateSignature value)
          Sets the value of the 'Signature' reference
 boolean validateOneParameterSubstitution(DiagnosticChain diagnostics, Map context)
           A binding contains at most one parameter substitution for each formal template parameter of the target template signature.
 boolean validateParameterSubstitutionFormal(DiagnosticChain diagnostics, Map context)
           Each parameter substitution must refer to a formal template parameter of the target template signature.
 
Methods inherited from interface org.eclipse.uml2.uml.DirectedRelationship
getSources, getTargets
 
Methods inherited from interface org.eclipse.uml2.uml.Relationship
getRelatedElements
 
Methods inherited from interface org.eclipse.uml2.uml.Element
addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf
 
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotation, getEAnnotations
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Method Detail

getSignature

public TemplateSignature getSignature()
Returns the value of the 'Signature' reference. The template signature for the template that is the target of the binding.

Returns:
the value of the 'Signature' reference.
See Also:
TemplateBinding.setSignature(TemplateSignature), UMLPackage.getTemplateBinding_Signature()

setSignature

public void setSignature(TemplateSignature value)
Sets the value of the 'Signature' reference.

Parameters:
value - the new value of the 'Signature' reference.
See Also:
TemplateBinding.getSignature()

getParameterSubstitutions

public EList getParameterSubstitutions()
Returns the value of the 'Parameter Substitution' containment reference list. The list contents are of type TemplateParameterSubstitution. It is bidirectional and its opposite is 'Template Binding'. The parameter substitutions owned by this template binding.

Returns:
the value of the 'Parameter Substitution' containment reference list.
See Also:
UMLPackage.getTemplateBinding_ParameterSubstitution(), TemplateParameterSubstitution.getTemplateBinding()

createParameterSubstitution

public TemplateParameterSubstitution createParameterSubstitution()
Creates a new TemplateParameterSubstitution and appends it to the 'Parameter Substitution' containment reference list.

Returns:
The new TemplateParameterSubstitution.
See Also:
TemplateBinding.getParameterSubstitutions()

getBoundElement

public TemplateableElement getBoundElement()
Returns the value of the 'Bound Element' container reference. It is bidirectional and its opposite is 'Template Binding'. The element that is bound by this binding.

Returns:
the value of the 'Bound Element' container reference.
See Also:
TemplateBinding.setBoundElement(TemplateableElement), UMLPackage.getTemplateBinding_BoundElement(), TemplateableElement.getTemplateBindings()

setBoundElement

public void setBoundElement(TemplateableElement value)
Sets the value of the 'Bound Element' container reference.

Parameters:
value - the new value of the 'Bound Element' container reference.
See Also:
TemplateBinding.getBoundElement()

validateParameterSubstitutionFormal

public boolean validateParameterSubstitutionFormal(DiagnosticChain diagnostics,
                                                   Map context)
Each parameter substitution must refer to a formal template parameter of the target template signature. parameterSubstitution->forAll(b | template.parameter->includes(b.formal))


validateOneParameterSubstitution

public boolean validateOneParameterSubstitution(DiagnosticChain diagnostics,
                                                Map context)
A binding contains at most one parameter substitution for each formal template parameter of the target template signature. template.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() <= 1)


Copyright 2003, 2006 IBM Corporation and others.
All Rights Reserved.