Class FeaturesOfMetadata

java.lang.Object
com.dassault_systemes.modeler.kerml.model.FeaturesOfMetadata

@OpenApiAll public class FeaturesOfMetadata extends Object
Utility class for dealing with Features of MetadataFeature
  • Constructor Details

    • FeaturesOfMetadata

      public FeaturesOfMetadata()
  • Method Details

    • getFeaturesOf

      public static List<Feature> getFeaturesOf(MetadataFeature metadataFeature)
      Returns non-hidden features of MetadataFeature. Hidden features are "baseType", "annotatedElement".
      Parameters:
      metadataFeature - metadata
      Returns:
      features of metadata
    • getFeaturesOfOwnedMetadata

      public static List<Feature> getFeaturesOfOwnedMetadata(Element element)
      Returns non-hidden features of owned metadata of given Element
      Parameters:
      element - element
      Returns:
      features of owned metadata of Element
      See Also:
    • getMetadataOfFeature

      @CheckForNull public static MetadataFeature getMetadataOfFeature(Feature feature, Collection<MetadataFeature> metadata)
      Looks for metadata among given for which given Feature belongs.
      Parameters:
      feature - given feature
      metadata - given metadata
      Returns:
      metadata of given feature
    • getMetadataByFeature

      public static Collection<MetadataFeature> getMetadataByFeature(Feature feature, Collection<MetadataFeature> metadata)
      Filters given metadata by feature: checks which metadata contains feature redefined by given feature.
      Parameters:
      feature - given feature.
      metadata - given metadata
      Returns:
      filtered metadata.
    • getRedefinableFeaturesOfMetadata

      public static Collection<Feature> getRedefinableFeaturesOfMetadata(Collection<MetadataFeature> metadata)
      Returns features from metadata that can be redefined. These are non-hidden features that are not themselves metadata features.
      Parameters:
      metadata - metadata collection
      Returns:
      redefinable features
    • setValue

      @CheckForNull public static FeatureValue setValue(Element element, Metaclass metaclass, Feature featureOfMetaclass, @CheckForNull Object value)
      Set a value for given feature in the context of MetadataFeature owned by given Element. First it looks for a MetadataFeature matching given Metaclass owned by the given Element or creates one if needed. Then it looks for a redefining @Feature owned by MetadataFeature or creates one if needed. Then it sets a value for that redefining feature.
      Parameters:
      element - element
      metaclass - metaclass
      featureOfMetaclass - feature of metaclass
      value - value, either single value, null or a List of values
      Returns:
      FeatureValue referencing a value
    • setValueOfMetadata

      @CheckForNull public static FeatureValue setValueOfMetadata(MetadataFeature metadata, Feature featureOfMetaclass, @CheckForNull Object value)
      Set a value for given feature in the context of given MetadataFeature. It looks for a redefining @Feature owned by MetadataFeature or creates one if needed. Then it sets a value for that redefining feature.
      Parameters:
      metadata - metadata
      featureOfMetaclass - feature of metaclass
      value - value, either single value, null or a List of values
      Returns:
      FeatureValue referencing a value
    • create

      public static Feature create(MetadataFeature metadata, Feature featureOfMetaclass)
      Creates a new redefining feature inside the metadata feature.
      Parameters:
      metadata - metadata feature
      featureOfMetaclass - feature to redefine
      Returns:
      created feature