Interface SelectionProperty


  • public interface SelectionProperty
    Represents a deferred binding property. The deferred binding property may or may not have a single value applied across all permutations. SelectionProperty implementations must support object identity comparisons.
    See Also:
    A similarly-named interface used in generators.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String getFallbackValue()
      Returns the fallback value or an empty string if not defined.
      java.lang.String getName()
      Returns the name of the deferred binding property.
      java.util.SortedSet<java.lang.String> getPossibleValues()
      Returns all possible values for this deferred binding property.
      java.lang.String getPropertyProvider​(TreeLogger logger, java.util.SortedSet<ConfigurationProperty> configProperties)
      Returns a raw function body that provides the runtime value to be used for a deferred binding property.
      boolean isDerived()
      Returns true if the value of the SelectionProperty is always derived from other SelectionProperties and, as a consequence, the property provider never needs to be evaluated.
      java.lang.String tryGetValue()
      Returns the defined value for the deferred binding property or null if the value of the property is not constant.
    • Method Detail

      • getFallbackValue

        java.lang.String getFallbackValue()
        Returns the fallback value or an empty string if not defined.
      • getName

        java.lang.String getName()
        Returns the name of the deferred binding property.
      • getPossibleValues

        java.util.SortedSet<java.lang.String> getPossibleValues()
        Returns all possible values for this deferred binding property.
      • getPropertyProvider

        java.lang.String getPropertyProvider​(TreeLogger logger,
                                             java.util.SortedSet<ConfigurationProperty> configProperties)
                                      throws UnableToCompleteException
        Returns a raw function body that provides the runtime value to be used for a deferred binding property.
        Parameters:
        logger - logger to use for any warnings/errors
        configProperties - set of configuration properties
        Throws:
        UnableToCompleteException - if execution cannot continue, after having logged a message
      • isDerived

        boolean isDerived()
        Returns true if the value of the SelectionProperty is always derived from other SelectionProperties and, as a consequence, the property provider never needs to be evaluated.
      • tryGetValue

        java.lang.String tryGetValue()
        Returns the defined value for the deferred binding property or null if the value of the property is not constant.
        See Also:
        CompilationResult.getPropertyMap()