hudson.util
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
static class VariableResolver.ByMap<V>
          VariableResolver backed by a Map.
static class VariableResolver.Union<V>
          Union of multiple VariableResolver.
 
Field Summary
static VariableResolver NONE
          Empty resolver that always returns null.
 
Method Summary
 V resolve(String name)
          Receives a variable name and obtains the value associated with the name.
 

Field Detail

NONE

static final VariableResolver NONE
Empty resolver that always returns null.

Method Detail

resolve

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

This can be implemented simply on top of a VariableResolver.ByMap (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.


Copyright © 2004-2013. All Rights Reserved.