Class Classifier<T extends M3Node>

All Implemented Interfaces:
IKeyed<T>, INamed, NamespacedEntity, NamespaceProvider, ClassifierInstance<Concept>, HasFeatureValues, Node
Direct Known Subclasses:
Annotation, Concept, Interface

public abstract class Classifier<T extends M3Node> extends LanguageEntity<T> implements NamespaceProvider
This represents a group of elements that shares some characteristics.

For example, Dated and Invoice could be both AbstractConcepts, while having different levels of tightness in the groups.

See Also:
  • Constructor Details

    • Classifier

      public Classifier()
    • Classifier

      public Classifier(@Nonnull LionWebVersion lionWebVersion)
    • Classifier

      public Classifier(@Nullable Language language, @Nullable String name, @Nonnull String id)
    • Classifier

      public Classifier(@Nonnull LionWebVersion lionWebVersion, @Nullable Language language, @Nullable String name)
    • Classifier

      public Classifier(@Nullable Language language, @Nullable String name)
  • Method Details

    • getFeatureByName

      @Nullable public Feature getFeatureByName(@Nonnull String name)
    • directAncestors

      @Nonnull public abstract List<Classifier<?>> directAncestors()
    • allAncestors

      @Nonnull public Set<Classifier<?>> allAncestors()
      Finds all ancestors. Works even for invalid inheritance hierarchies (i.e. containing loops).
      Returns:
      All direct or indirect/transitive ancestors.
    • allFeatures

      @Nonnull public List<Feature<?>> allFeatures()
    • inheritedFeatures

      @Nonnull public abstract List<Feature<?>> inheritedFeatures()
    • allProperties

      @Nonnull public List<Property> allProperties()
    • allContainments

      @Nonnull public List<Containment> allContainments()
    • allReferences

      @Nonnull public List<Reference> allReferences()
    • allLinks

      @Nonnull public List<Link<?>> allLinks()
    • getFeatures

      @Nonnull public List<Feature<?>> getFeatures()
    • addFeature

      public T addFeature(@Nonnull Feature feature)
    • namespaceQualifier

      public String namespaceQualifier()
      Specified by:
      namespaceQualifier in interface NamespaceProvider
    • getPropertyByID

      @Nullable public Property getPropertyByID(@Nonnull String propertyId)
    • getPropertyByName

      @Nullable public Property getPropertyByName(@Nonnull String propertyName)
    • getContainmentByID

      @Nullable public Containment getContainmentByID(@Nonnull String containmentID)
    • getContainmentByName

      @Nullable public Containment getContainmentByName(@Nonnull String containmentName)
    • getReferenceByID

      @Nullable public Reference getReferenceByID(@Nonnull String referenceID)
    • getReferenceByName

      @Nullable public Reference getReferenceByName(@Nonnull String referenceName)
    • requireContainmentByName

      @Nonnull public Containment requireContainmentByName(@Nonnull String containmentName)
    • requireReferenceByName

      @Nonnull public Reference requireReferenceByName(@Nonnull String referenceName)
    • getLinkByName

      @Nullable public Link getLinkByName(@Nonnull String linkName)
    • getPropertyByMetaPointer

      @Nullable public Property getPropertyByMetaPointer(MetaPointer metaPointer)
    • getContainmentByMetaPointer

      @Nullable public Containment getContainmentByMetaPointer(MetaPointer metaPointer)
    • getReferenceByMetaPointer

      @Nullable public Reference getReferenceByMetaPointer(MetaPointer metaPointer)
    • combineFeatures

      protected void combineFeatures(List<Feature<?>> featuresA, List<Feature<?>> featuresB)