blob: 332ed40c4564a0a76739bc9858c00fc6e3ed12f1 [file] [log] [blame]
/*
* Copyright (c) 2005 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.2 2005/12/14 22:34:16 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;
/**
* <!-- 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. One purpose of InformationItems is to be able to define preliminary models, before having made detailed modeling decisions on types or structures. One other purpose of information items and information flows is to abstract complex models by a less precise but more general representation of the information exchanged betwen entities of a system.
*
*
* <!-- 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 {@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.
* @return The {@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);
/**
* <!-- 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