Package org.apache.tapestry5.ioc.services

# Interface SymbolSource

All Known Implementing Classes:
  `SymbolSourceImpl`

@UsesOrderedConfiguration(SymbolProvider.class) public interface SymbolSource
Used to manage symbols, configuration properties whose value is evaluated at runtime. Symbols use the Ant syntax: `${foo.bar.baz}` where `foo.bar.baz` is the name of the symbol. The symbol may appear inside some annotation, such as `Value`. The SymbolSource service configuration is an ordered list of `SymbolProvider`s. Two key SymbolProvider services are FactoryDefaults and ApplicationDefaults.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `expandSymbols(String input)`
  Given an input string that may contain symbols, returns the string with any and all symbols fully expanded.
  `String`
  `valueForSymbol(String symbolName)`
  Expands the value for a particular symbol.

- ## Method Details

  - ### valueForSymbol

    String valueForSymbol(String symbolName)
    Expands the value for a particular symbol. This may involve recursive expansion, if the immediate value for the symbol itself contains symbols.
    Parameters:
      `symbolName` -
    Returns:
      the expanded string
    Throws:
      `RuntimeException` - if the symbol name can not be expanded (no `SymbolProvider` can provide its value), or if an expansion is directly or indirectly recursive

  - ### expandSymbols

    String expandSymbols(String input)
    Given an input string that may contain symbols, returns the string with any and all symbols fully expanded.
    Parameters:
      `input` -
    Returns:
      expanded input