blob: d937aab334654aebe79c23b83f1bd056ede609da [file] [log] [blame]
/*
* Copyright (c) 2005, 2006 IBM Corporation 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
*
* $Id: InformationItem.java,v 1.5 2006/05/12 20:38:08 khussey Exp $
*/
package org.eclipse.uml2.uml;
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Information Item</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* An information item is an abstraction of all kinds of information that can be exchanged between objects. It is a kind of classifier intended for representing information in a very abstract way, one which cannot be instantiated.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.uml2.uml.InformationItem#getRepresenteds <em>Represented</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.uml2.uml.UMLPackage#getInformationItem()
* @model
* @generated
*/
public interface InformationItem
extends Classifier {
/**
* Returns the value of the '<em><b>Represented</b></em>' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Classifier}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Determines the classifiers that will specify the structure and nature of the information. An information item represents all its represented classifiers.
* <!-- end-model-doc -->
* @return the value of the '<em>Represented</em>' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getInformationItem_Represented()
* @model type="org.eclipse.uml2.uml.Classifier" ordered="false"
* @generated
*/
EList getRepresenteds();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified '<em><b>Name</b></em>' from the '<em><b>Represented</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Classifier} to retrieve, or <code>null</code>.
* @return The first {@link org.eclipse.uml2.uml.Classifier} with the specified '<em><b>Name</b></em>', or <code>null</code>.
* @see #getRepresenteds()
* @generated
*/
Classifier getRepresented(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified '<em><b>Name</b></em>' from the '<em><b>Represented</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Classifier} to retrieve, or <code>null</code>.
* @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 <code>null</code>.
* @return The first {@link org.eclipse.uml2.uml.Classifier} with the specified '<em><b>Name</b></em>', or <code>null</code>.
* @see #getRepresenteds()
* @generated
*/
Classifier getRepresented(String name, boolean ignoreCase, EClass eClass);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The sources and targets of an information item (its related information flows) must designate subsets of the sources and targets of the representation information item, if any.The Classifiers that can realize an information item can only be of the following kind: Class, Interface, InformationItem, Signal, Component.
* (self.represented->select(p | p->oclIsKindOf(InformationItem))->forAll(p |
* p.informationFlow.source->forAll(q | self.informationFlow.source->include(q)) and
* p.informationFlow.target->forAll(q | self.informationFlow.target->include(q)))) and
* (self.represented->forAll(p | p->oclIsKindOf(Class) or oclIsKindOf(Interface) or
* oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component)))
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateSourcesAndTargets(DiagnosticChain diagnostics, Map context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* An informationItem has no feature, no generalization, and no associations.
* self.generalization->isEmpty() and self.feature->isEmpty()
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateHasNo(DiagnosticChain diagnostics, Map context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* It is not instantiable.
* isAbstract
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateNotInstantiable(DiagnosticChain diagnostics, Map context);
} // InformationItem