Interface SymbolSource

All Known Implementing Classes:
SymbolSourceImpl

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 SymbolProviders. Two key SymbolProvider services are FactoryDefaults and ApplicationDefaults.
  • Method Summary

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

    • valueForSymbol

      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

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