blob: ad3505ee7f56ad661a904831b61d54396c37db3b [file] [log] [blame]
/*
* Copyright (c) 2011, 2012 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:
* CEA - initial API and implementation
* Kenn Hussey (CEA) - 351777
*
*/
package org.eclipse.uml2.uml.profile.l2;
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.uml2.uml.Classifier;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Specification</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È.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.uml2.uml.profile.l2.Specification#getBase_Classifier <em>Base Classifier</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.uml2.uml.profile.l2.L2Package#getSpecification()
* @model
* @generated
*/
public interface Specification
extends EObject {
/**
* Returns the value of the '<em><b>Base Classifier</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Base Classifier</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Base Classifier</em>' reference.
* @see #setBase_Classifier(Classifier)
* @see org.eclipse.uml2.uml.profile.l2.L2Package#getSpecification_Base_Classifier()
* @model required="true" ordered="false"
* @generated
*/
Classifier getBase_Classifier();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.profile.l2.Specification#getBase_Classifier <em>Base Classifier</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Base Classifier</em>' reference.
* @see #getBase_Classifier()
* @generated
*/
void setBase_Classifier(Classifier value);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* self.base_Classifier.extension_Type->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 validateCannotBeType(DiagnosticChain diagnostics,
Map<Object, Object> context);
} // Specification