Package jline.lang

Class FeatureSet

java.lang.Object
jline.lang.FeatureSet
All Implemented Interfaces:
Serializable

public class FeatureSet extends Object implements Serializable
Class representing the features of a particular solver
See Also:
  • Constructor Details

    • FeatureSet

      public FeatureSet()
      Creates a new FeatureSet with all features initialized to false. This represents the default state where no features are enabled.
  • Method Details

    • supports

      public static boolean supports(FeatureSet supported, FeatureSet used)
      Checks if the used features are supported by the given solver
      Parameters:
      supported - - the features supported by the solver
      used - - the used features
      Returns:
      - true if the used features are supported, false otherwise
    • supportsReason

      public static String supportsReason(FeatureSet supported, FeatureSet used)
      Same feature comparison as supports(jline.lang.FeatureSet, jline.lang.FeatureSet) but returns a human-readable reason instead of a boolean (empty string when every used feature is supported), and without the side-effect warning. Intended for the method-aware gate and for feature-driven method selection, which probe several candidate methods and must not warn on the non-covering ones.
      Parameters:
      supported - - the features supported by the (method of the) solver
      used - - the used features
      Returns:
      - empty string if supported, else the offending feature list
    • inspectFeature

      public boolean inspectFeature(String feature)
      Checks whether the given feature is used or not in the current feature set
      Parameters:
      feature - - the name of the given feature
      Returns:
      - true if the given feature is used, false otherwise
    • featureNames

      public Set<String> featureNames()
      Returns the canonical registry of feature names (all features, enabled or not). Used by cross-codebase parity tooling to enumerate and compare per-method feature sets.
      Returns:
      the set of all feature names in this FeatureSet
    • setFalse

      public void setFalse(String[] features)
      Sets multiple features to false in the feature set.
      Parameters:
      features - array of feature names to disable
      Throws:
      RuntimeException - if any feature name is not recognized
    • setFalse

      public void setFalse(String feature)
      Sets a single feature to false in the feature set.
      Parameters:
      feature - the name of the feature to disable
      Throws:
      RuntimeException - if the feature name is not recognized
    • setTrue

      public void setTrue(String feature)
      Sets a single feature to true in the feature set.
      Parameters:
      feature - the name of the feature to enable
      Throws:
      RuntimeException - if the feature name is not recognized
    • setTrue

      public void setTrue(String[] features)
      Sets multiple features to true in the feature set.
      Parameters:
      features - array of feature names to enable
      Throws:
      RuntimeException - if any feature name is not recognized