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}
wherefoo.bar.baz
is the name of the symbol. The symbol may appear inside some annotation, such asValue
. The SymbolSource service configuration is an ordered list ofSymbolProvider
s. Two key SymbolProvider services are FactoryDefaults and ApplicationDefaults.
-
-
Method Summary
All Methods Instance Methods Abstract Methods 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 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 (noSymbolProvider
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
-
-