Interface VariableResolver<V>

All Known Implementing Classes:
VariableResolver.ByMap, VariableResolver.Union

public interface VariableResolver<V>
Resolves variables to its value, while encapsulating how that resolution happens.
Author:
Kohsuke Kawaguchi
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Interface Description
    static class  VariableResolver.ByMap<V>
    VariableResolver backed by a Map.
    static class  VariableResolver.Union<V>
    Union of multiple VariableResolver.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static VariableResolver NONE
    Empty resolver that always returns null.
  • Method Summary

    Modifier and Type Method Description
    V resolve​(java.lang.String name)
    Receives a variable name and obtains the value associated with the name.
  • Field Details

  • Method Details

    • resolve

      V resolve​(java.lang.String name)
      Receives a variable name and obtains the value associated with the name.

      This can be implemented simply on top of a Map (see VariableResolver.ByMap), or this can be used like an expression evaluator.

      Parameters:
      name - Name of the variable to be resolved. Never null, never empty. The name shouldn't include the syntactic marker of an expression. IOW, it should be "foo" but not "${foo}". A part of the goal of this design is to abstract away the expression marker syntax.
      Returns:
      Object referenced by the name. Null if not found.