Class Feature<T extends M3Node>
java.lang.Object
io.lionweb.lioncore.java.model.impl.AbstractClassifierInstance<Concept>
io.lionweb.lioncore.java.model.impl.M3Node<T>
io.lionweb.lioncore.java.language.Feature<T>
- All Implemented Interfaces:
IKeyed<T>
,INamed
,NamespacedEntity
,ClassifierInstance<Concept>
,HasFeatureValues
,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.lioncore.java.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()
boolean
boolean
setOptional
(boolean optional) Methods inherited from class io.lionweb.lioncore.java.model.impl.M3Node
addChild, addContainmentMultipleValue, addReferenceMultipleValue, addReferenceValue, equals, getChildren, getContainmentFeature, getContainmentMultipleValue, getContainmentSingleValue, getID, getLionWebVersion, getParent, getPropertyValue, getPropertyValue, getPropertyValue, getReferenceMultipleValue, getReferenceSingleValue, getReferenceValues, getRoot, hashCode, removeChild, setID, setParent, setPropertyValue, setPropertyValue, setReferenceSingleValue, setReferenceValues, toString
Methods inherited from class io.lionweb.lioncore.java.model.impl.AbstractClassifierInstance
addAnnotation, getAnnotations, getAnnotations, removeAnnotation, removeChild, removeReferenceValue, removeReferenceValue
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.lionweb.lioncore.java.model.ClassifierInstance
addAnnotation, getAnnotations, getAnnotations, removeAnnotation
Methods inherited from interface io.lionweb.lioncore.java.model.HasFeatureValues
removeChild, removeReferenceValue, removeReferenceValue
Methods inherited from interface io.lionweb.lioncore.java.language.NamespacedEntity
qualifiedName
Methods inherited from interface io.lionweb.lioncore.java.model.Node
getClassifier, 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:
getName
in interfaceINamed
- Specified by:
getName
in interfaceNamespacedEntity
-
setName
-
getContainer
The container is always the parent. It is just casted for convenience.- Specified by:
getContainer
in interfaceNamespacedEntity
-
getKey
-
setKey
-
getDeclaringLanguage
-