Package io.lionweb.language
Class Feature<T extends M3Node>
java.lang.Object
io.lionweb.model.impl.AbstractClassifierInstance<Concept>
io.lionweb.model.impl.M3Node<T>
io.lionweb.language.Feature<T>
- All Implemented Interfaces:
IKeyed<T>,INamed,NamespacedEntity,ClassifierInstance<Concept>,HasFeatureValues,HasSettableParent,Node
public abstract class Feature<T extends M3Node>
extends M3Node<T>
implements NamespacedEntity, IKeyed<T>
A Feature represents a characteristic or some form of data associated with a particular concept.
For example, an Invoice can have an associated date, a number, a connection with a customer, and it can contain InvoiceLines. All of this information is represented by features.
- See Also:
-
Ecore equivalent EStructuralFeature- MPS equivalent Concept members in documentation
MPS equivalent SConceptFeature in SModel
-
Field Summary
Fields inherited from class io.lionweb.model.impl.AbstractClassifierInstance
annotations -
Constructor Summary
ConstructorsConstructorDescriptionFeature()Feature(LionWebVersion lionWebVersion) Feature(LionWebVersion lionWebVersion, String name, Classifier container) Feature(LionWebVersion lionWebVersion, String name, Classifier container, String id) Feature(LionWebVersion lionWebVersion, String name, String id) Feature(String name, Classifier container) Feature(String name, Classifier<?> container, String id) -
Method Summary
Modifier and TypeMethodDescriptionThe container is always the parent.getKey()getName()booleanbooleansetOptional(boolean optional) Methods 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, setReferenceValues, toStringMethods 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
getClassifier, getContainmentFeature, getRoot, isRoot, thisAndAllDescendants
-
Constructor Details
-
Feature
public Feature() -
Feature
-
Feature
-
Feature
-
Feature
public Feature(@Nonnull LionWebVersion lionWebVersion, @Nullable String name, @Nullable Classifier container, @Nonnull String id) -
Feature
-
Feature
public Feature(@Nonnull LionWebVersion lionWebVersion, @Nullable String name, @Nullable Classifier container) -
Feature
-
-
Method Details
-
isOptional
public boolean isOptional() -
isRequired
public boolean isRequired() -
setOptional
-
getName
- Specified by:
getNamein interfaceINamed- Specified by:
getNamein interfaceNamespacedEntity
-
setName
-
getContainer
The container is always the parent. It is just casted for convenience.- Specified by:
getContainerin interfaceNamespacedEntity
-
getKey
-
setKey
-
getDeclaringLanguage
-