/*
* 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: ComponentRealization.java,v 1.7 2008/10/02 20:56:23 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 'Component Realization'.
*
*
*
* The realization concept is specialized to (optionally) define the classifiers that realize the contract offered by a component in terms of its provided and required interfaces. The component forms an abstraction from these various classifiers.
*
*
*
* The following features are supported:
*
* - {@link org.eclipse.uml2.uml.ComponentRealization#getRealizingClassifiers Realizing Classifier}
* - {@link org.eclipse.uml2.uml.ComponentRealization#getAbstraction Abstraction}
*
*
*
* @see org.eclipse.uml2.uml.UMLPackage#getComponentRealization()
* @model
* @generated
*/
public interface ComponentRealization
extends Realization {
/**
* Returns the value of the 'Abstraction' container reference.
* It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Component#getRealizations Realization}'.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Dependency#getSuppliers() Supplier}'
* - '{@link org.eclipse.uml2.uml.Element#getOwner() Owner}'
*
*
*
*
*
* The Component that owns this ComponentRealization and which is implemented by its realizing classifiers.
*
* @return the value of the 'Abstraction' container reference.
* @see #setAbstraction(Component)
* @see org.eclipse.uml2.uml.UMLPackage#getComponentRealization_Abstraction()
* @see org.eclipse.uml2.uml.Component#getRealizations
* @model opposite="realization" transient="false" ordered="false"
* @generated
*/
Component getAbstraction();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.ComponentRealization#getAbstraction Abstraction}' container reference.
*
*
* @param value the new value of the 'Abstraction' container reference.
* @see #getAbstraction()
* @generated
*/
void setAbstraction(Component value);
/**
* Returns the value of the 'Realizing Classifier' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Classifier}.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Dependency#getClients() Client}'
*
*
*
*
*
* The classifiers that are involved in the implementation of the Component that owns this Realization.
*
* @return the value of the 'Realizing Classifier' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getComponentRealization_RealizingClassifier()
* @model required="true" ordered="false"
* @generated
*/
EList getRealizingClassifiers();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name' from the 'Realizing Classifier' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Classifier} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name', or null
.
* @see #getRealizingClassifiers()
* @generated
*/
Classifier getRealizingClassifier(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name' from the 'Realizing Classifier' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Classifier} to retrieve, or null
.
* @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
* @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.Classifier} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name', or null
.
* @see #getRealizingClassifiers()
* @generated
*/
Classifier getRealizingClassifier(String name, boolean ignoreCase,
EClass eClass);
} // ComponentRealization