Class FeatureChainExpressions

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

@OpenApiAll public class FeatureChainExpressions extends Object
Utility class to work with FeatureChainExpression
  • Field Details

  • Constructor Details

    • FeatureChainExpressions

      public FeatureChainExpressions()
  • Method Details

    • createChainOrReferenceExpression

      public static Expression createChainOrReferenceExpression(List<Feature> referenced)
      Creates FeatureChainExpression if more than one feature is given or FeatureReferenceExpression if one.
      Parameters:
      referenced - features
      Returns:
      created expression
    • create

      public static FeatureChainExpression create(Expression pureExpression, List<Feature> target)
      Creates a feature chain expression using a pure source expression and a target feature list.
      Parameters:
      pureExpression - pure expression used as the chain source
      target - target features
      Returns:
      created feature chain expression
    • create

      public static FeatureChainExpression create(List<Feature> sourceAndTarget)
      Creates a feature chain expression from a list of source and target features.
      Parameters:
      sourceAndTarget - list containing source followed by target features
      Returns:
      created feature chain expression
    • setSourceReferent

      public static void setSourceReferent(FeatureChainExpression expression, Feature referent)
      Sets the source referent of the feature chain expression.
      Parameters:
      expression - expression to update
      referent - source feature
    • setTargetFeature

      public static void setTargetFeature(FeatureChainExpression expression, List<Feature> target)
      Sets the target features of the feature chain expression.
      Parameters:
      expression - expression to update
      target - target features
    • getTargetFeatureMembership

      @CheckForNull public static Membership getTargetFeatureMembership(FeatureChainExpression expression)
      Returns the membership storing the target feature(s).
      Parameters:
      expression - expression
      Returns:
      membership, or null
    • setSourceReferentAndTarget

      public static Expression setSourceReferentAndTarget(FeatureChainExpression expression, List<Feature> sourceAndTarget)
      Updates source and target in the given expression or creates a new FeatureReferenceExpression
      Parameters:
      expression - expression
      sourceAndTarget - source used in FeatureReferenceExpressions as referent and target
      Returns:
      returns given or a new expression
    • setSourceExpressionAndTarget

      public static Expression setSourceExpressionAndTarget(FeatureChainExpression expression, Expression pureExpression, List<Feature> target)
      Updates source and target in the given expression
      Parameters:
      expression - expression
      pureExpression - expression used to set FeatureChainExpression source value
      target - target
      Returns:
      returns given expression
    • getSourceParameter

      @CheckForNull public static Feature getSourceParameter(FeatureChainExpression expression)
      Returns the source parameter of the chain expression.
      Parameters:
      expression - expression
      Returns:
      source parameter, or null
    • getSourceAndTarget

      public static List<Feature> getSourceAndTarget(FeatureChainExpression featureChainExpression)
      Returns the full source-and-target feature path of the chain expression.
      Parameters:
      featureChainExpression - chain expression
      Returns:
      list of source and target features
    • getChainingFeatureOfTarget

      public static List<Feature> getChainingFeatureOfTarget(FeatureChainExpression expression)
      Returns the chaining features of the target feature.
      Parameters:
      expression - chain expression
      Returns:
      list of chaining features, or empty list