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