| /* |
| * 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: Type.java,v 1.8 2006/06/07 21:39:13 khussey Exp $ |
| */ |
| package org.eclipse.uml2.uml; |
| |
| import org.eclipse.emf.common.util.EList; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A representation of the model object '<em><b>Type</b></em>'. |
| * <!-- end-user-doc --> |
| * |
| * <!-- begin-model-doc --> |
| * A type is a named element that is used as the type for a typed element. A type can be contained in a package. |
| * A type constrains the values represented by a typed element. |
| * <!-- end-model-doc --> |
| * |
| * <p> |
| * The following features are supported: |
| * <ul> |
| * <li>{@link org.eclipse.uml2.uml.Type#getPackage <em>Package</em>}</li> |
| * </ul> |
| * </p> |
| * |
| * @see org.eclipse.uml2.uml.UMLPackage#getType() |
| * @model abstract="true" |
| * @generated |
| */ |
| public interface Type |
| extends PackageableElement { |
| |
| /** |
| * Returns the value of the '<em><b>Package</b></em>' reference. |
| * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Package#getOwnedTypes <em>Owned Type</em>}'. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Specifies the owning package of this classifier, if any. |
| * <!-- end-model-doc --> |
| * @return the value of the '<em>Package</em>' reference. |
| * @see #setPackage(org.eclipse.uml2.uml.Package) |
| * @see org.eclipse.uml2.uml.UMLPackage#getType_Package() |
| * @see org.eclipse.uml2.uml.Package#getOwnedTypes |
| * @model opposite="ownedType" transient="true" volatile="true" derived="true" ordered="false" |
| * @generated |
| */ |
| org.eclipse.uml2.uml.Package getPackage(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.uml2.uml.Type#getPackage <em>Package</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Package</em>' reference. |
| * @see #getPackage() |
| * @generated |
| */ |
| void setPackage(org.eclipse.uml2.uml.Package value); |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Creates a(n) (binary) association between this type and the specified other type, with the specified navigabilities, aggregations, names, lower bounds, and upper bounds, and owned by this type's nearest package. |
| * <!-- end-model-doc --> |
| * @model required="true" ordered="false" end1IsNavigableDataType="org.eclipse.uml2.uml.Boolean" end1IsNavigableRequired="true" end1IsNavigableOrdered="false" end1AggregationRequired="true" end1AggregationOrdered="false" end1NameDataType="org.eclipse.uml2.uml.String" end1NameRequired="true" end1NameOrdered="false" end1LowerDataType="org.eclipse.uml2.uml.Integer" end1LowerRequired="true" end1LowerOrdered="false" end1UpperDataType="org.eclipse.uml2.uml.UnlimitedNatural" end1UpperRequired="true" end1UpperOrdered="false" end1TypeRequired="true" end1TypeOrdered="false" end2IsNavigableDataType="org.eclipse.uml2.uml.Boolean" end2IsNavigableRequired="true" end2IsNavigableOrdered="false" end2AggregationRequired="true" end2AggregationOrdered="false" end2NameDataType="org.eclipse.uml2.uml.String" end2NameRequired="true" end2NameOrdered="false" end2LowerDataType="org.eclipse.uml2.uml.Integer" end2LowerRequired="true" end2LowerOrdered="false" end2UpperDataType="org.eclipse.uml2.uml.UnlimitedNatural" end2UpperRequired="true" end2UpperOrdered="false" |
| * @generated |
| */ |
| Association createAssociation(boolean end1IsNavigable, |
| AggregationKind end1Aggregation, String end1Name, int end1Lower, |
| int end1Upper, Type end1Type, boolean end2IsNavigable, |
| AggregationKind end2Aggregation, String end2Name, int end2Lower, |
| int end2Upper); |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Retrieves the associations in which this type is involved. |
| * <!-- end-model-doc --> |
| * @model kind="operation" type="org.eclipse.uml2.uml.Association" ordered="false" |
| * @generated |
| */ |
| EList getAssociations(); |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * The query conformsTo() gives true for a type that conforms to another. By default, two types do not conform to each other. This query is intended to be redefined for specific conformance situations. |
| * result = false |
| * <!-- end-model-doc --> |
| * @model dataType="org.eclipse.uml2.uml.Boolean" required="true" ordered="false" otherRequired="true" otherOrdered="false" |
| * @generated |
| */ |
| boolean conformsTo(Type other); |
| |
| } // Type |