/*****************************************************************************
* Copyright (c) 2011 CEA LIST.
*
*
* 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 LIST - Initial API and implementation
*
*****************************************************************************/
package org.eclipse.papyrus.uml.alf.syntax.units;
import org.eclipse.papyrus.uml.alf.syntax.common.SyntaxElement;
import org.eclipse.papyrus.uml.alf.syntax.expressions.QualifiedName;
import org.eclipse.papyrus.uml.alf.syntax.statements.QualifiedNameList;
import org.eclipse.uml2.uml.Stereotype;
public class StereotypeAnnotation extends SyntaxElement {
// Synthesized Properties
public QualifiedNameList names ;
public QualifiedName stereotypeName ;
public TaggedValueList taggedValues ;
// Derived Properties
public Stereotype stereotype ;
// Constraints
/*
* If the stereotype name of a stereotype annotation is "apply", then it must have a name list and all of the
* names in the list must resolve to profiles.
*/
public void checkStereotypeAnnotationApply() {
}
/*
* If the stereotype name of a stereotype annotation is "external", then it may optionally have a single
* tagged value with the name "file" and no operator.
*/
public void checkStereotypeAnnotationExternal() {
}
/*
* If a stereotype annotation has a stereotype and a list of names, then all the names in the list must resolve
* to visible model elements and the stereotype must have a single attribute with a (metaclass) type and
* multiplicity that are consistent with the types and number of the elements denoted by the given names.
*/
public void checkStereotypeAnnotationNames() {
}
/*
* If the stereotype name of a stereotype annotation is "primitive", then it may not have tagged values or
* names.
*/
public void checkStereotypeAnnotationPrimitive() {
}
/*
* Unless the stereotype name is "apply", "primitive" or "external" then the stereotype for a stereotype
* annotation is the stereotype denoted by the stereotype name.
*/
public void checkStereotypeAnnotationStereotypeDerivation() {
}
/*
* The stereotype name of a stereotype annotation must either be one of "apply", "primitive" or "external",
* or it must denote a single stereotype from a profile applied to an enclosing package. The stereotype
* name does not need to be qualified if there is only one applied profile with a stereotype of that name or
* if the there is a standard UML profile with the name.
*/
public void checkStereotypeAnnotationStereotypeName() {
}
/*
* If a stereotype annotation has a stereotype and tagged values, then the each tagged value must have the
* name of an attribute of the stereotype and a value that is legally interpretable for the type of that
* attribute.
*/
public void checkStereotypeAnnotationTaggedValues() {
}
}