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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String expandSymbols​(java.lang.String input)
      Given an input string that may contain symbols, returns the string with any and all symbols fully expanded.
      java.lang.String valueForSymbol​(java.lang.String symbolName)
      Expands the value for a particular symbol.
    • Method Detail

      • valueForSymbol

        java.lang.String valueForSymbol​(java.lang.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:
        java.lang.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

        java.lang.String expandSymbols​(java.lang.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