com.google.gwt.core.ext.linker

## 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
`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()`