org.apache.tapestry5.ioc.services

## Interface SymbolSource

- All Known Implementing Classes:
    SymbolSourceImpl

      @UsesOrderedConfiguration(value=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

    Methods
    Modifier and Type | Method and 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 Detail

    - #### 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

${project.version} - Copyright © 2003-2014 The Apache Software Foundation.