Package io.lionweb.language
Class Annotation
java.lang.Object
- All Implemented Interfaces:
IKeyed<Annotation>,INamed,NamespacedEntity,NamespaceProvider,ClassifierInstance<Concept>,HasFeatureValues,HasSettableParent,Node
This represents additional metadata relative to some orthogonal concern.
While an AnnotationInstance implements HasFeatureValues, it is forbidden to hold any Containment links. This is checked during validation.
A DocumentationComment could be specified as an annotation.
- See Also:
-
Ecore equivalent EAnnotation- MPS equivalent Attribute in documentation
- MPS equivalent NodeAttribute in local MPS
-
Field Summary
Fields inherited from class io.lionweb.model.impl.AbstractClassifierInstance
annotations -
Constructor Summary
ConstructorsConstructorDescriptionAnnotation(Language language, String name) Annotation(Language language, String name, String id) Annotation(Language language, String name, String id, String key) Annotation(LionWebVersion lionWebVersion) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddImplementedInterface(Interface iface) List<Classifier<?>>Classifier<?>The concept of which this Node is an instance.Classifier<?>An Annotation extending another annotation should not redefine annotates.voidsetAnnotates(Classifier<?> target) voidsetExtendedAnnotation(Annotation extended) Methods inherited from class io.lionweb.language.Classifier
addFeature, allAncestors, allContainments, allFeatures, allLinks, allProperties, allReferences, combineFeatures, getContainmentByID, getContainmentByMetaPointer, getContainmentByName, getFeatureByName, getFeatures, getLinkByName, getPropertyByID, getPropertyByMetaPointer, getPropertyByName, getReferenceByID, getReferenceByMetaPointer, getReferenceByName, namespaceQualifier, removeFeature, requireContainmentByName, requireReferenceByNameMethods inherited from class io.lionweb.language.LanguageEntity
getContainer, getKey, getLanguage, getName, setKey, setName, toStringMethods inherited from class io.lionweb.model.impl.M3Node
addChild, addContainmentMultipleValue, addReferenceMultipleValue, addReferenceValue, equals, getChildren, getContainmentMultipleValue, getContainmentSingleValue, getID, getLionWebVersion, getParent, getPropertyValue, getPropertyValue, getPropertyValue, getReferenceMultipleValue, getReferenceSingleValue, getReferenceValues, hashCode, removeChild, setID, setParent, setPropertyValue, setPropertyValue, setReferenceSingleValue, setReferenceValuesMethods inherited from class io.lionweb.model.impl.AbstractClassifierInstance
addAnnotation, getAnnotations, getAnnotations, removeAnnotation, removeChild, removeReferenceValue, removeReferenceValueMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.lionweb.model.ClassifierInstance
addAnnotation, getAnnotations, getAnnotations, removeAnnotationMethods inherited from interface io.lionweb.model.HasFeatureValues
removeChild, removeReferenceValue, removeReferenceValueMethods inherited from interface io.lionweb.language.NamespacedEntity
qualifiedNameMethods inherited from interface io.lionweb.model.Node
getContainmentFeature, getRoot, isRoot, thisAndAllDescendants
-
Constructor Details
-
Annotation
-
Annotation
public Annotation() -
Annotation
-
Annotation
-
Annotation
-
-
Method Details
-
getAnnotates
-
getEffectivelyAnnotated
An Annotation extending another annotation should not redefine annotates. So the value is effectively inherited from the super annotation. -
getExtendedAnnotation
-
getImplemented
-
addImplementedInterface
-
setExtendedAnnotation
-
setAnnotates
-
directAncestors
- Specified by:
directAncestorsin classClassifier<Annotation>
-
inheritedFeatures
- Specified by:
inheritedFeaturesin classClassifier<Annotation>
-
getClassifier
Description copied from interface:NodeThe concept of which this Node is an instance. The Concept should not be abstract.
-