blob: f75362d4fd9ca93987257b5c6c676593253224b3 [file] [log] [blame]
/*
* Copyright (c) 2014, 2018 CEA and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Kenn Hussey (CEA) - initial API and implementation
* Kenn Hussey (CEA) - 451350
* Kenn Hussey - 535301
*
*/
package org.eclipse.uml2.uml.profile.standard;
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Type</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* A class that specifies a domain of objects together with the operations applicable to the objects, without defining the physical implementation of those objects. However, it may have attributes and associations. Behavioral specifications for type operations may be expressed using, for example, activity diagrams. An object may have at most one implementation class, however it may conform to multiple different types. See also: «ImplementationClass».
* <p>From package StandardProfile (URI {@literal http://www.omg.org/spec/UML/20131001/StandardProfile}).</p>
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.eclipse.uml2.uml.profile.standard.Type#getBase_Class <em>Base Class</em>}</li>
* </ul>
*
* @see org.eclipse.uml2.uml.profile.standard.StandardPackage#getType()
* @model
* @generated
*/
public interface Type
extends EObject {
/**
* Returns the value of the '<em><b>Base Class</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* <p>From package StandardProfile (URI {@literal http://www.omg.org/spec/UML/20131001/StandardProfile}).</p>
* <!-- end-model-doc -->
* @return the value of the '<em>Base Class</em>' reference.
* @see #setBase_Class(org.eclipse.uml2.uml.Class)
* @see org.eclipse.uml2.uml.profile.standard.StandardPackage#getType_Base_Class()
* @model required="true" ordered="false"
* @generated
*/
org.eclipse.uml2.uml.Class getBase_Class();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.profile.standard.Type#getBase_Class <em>Base Class</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Base Class</em>' reference.
* @see #getBase_Class()
* @generated
*/
void setBase_Class(org.eclipse.uml2.uml.Class value);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* self.base_Class.extension_Specification->isEmpty()
* @param diagnostics The chain of diagnostics to which problems are to be appended.
* @param context The cache of context-specific information.
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateCannotBeSpecification(DiagnosticChain diagnostics,
Map<Object, Object> context);
} // Type