org.codehaus.plexus.interpolation

## Class EnvarBasedValueSource

- java.lang.Object
- - org.codehaus.plexus.interpolation.AbstractValueSource
  - - org.codehaus.plexus.interpolation.EnvarBasedValueSource

All Implemented Interfaces:
  ValueSource

    public class EnvarBasedValueSource
    extends AbstractValueSource

`ValueSource` which resolves expressions against the environment variables available from the underlying operating system (and possibly, the shell environment that created the present Java process). If the expression starts with 'env.', this prefix is trimmed before resolving the rest as an environment variable name.

Version:
  $Id$

### Constructor Summary

Constructors
Constructor and Description
`EnvarBasedValueSource()` Create a new value source for interpolation based on shell environment variables.
`EnvarBasedValueSource(boolean caseSensitive)` Create a new value source for interpolation based on shell environment variables.

### Method Summary

Methods
`java.lang.Object` `getValue(java.lang.String expression)` If the expression starts with 'env.' then trim this prefix.

### Methods inherited from class org.codehaus.plexus.interpolation.AbstractValueSource

`addFeedback, addFeedback, clearFeedback, getFeedback`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### EnvarBasedValueSource

    public EnvarBasedValueSource()
                          throws java.io.IOException

Create a new value source for interpolation based on shell environment variables. In this case, envar keys ARE CASE SENSITIVE.

Throws:
  `java.io.IOException`

#### EnvarBasedValueSource

    public EnvarBasedValueSource(boolean caseSensitive)
                          throws java.io.IOException

Create a new value source for interpolation based on shell environment variables.

Parameters:
  `caseSensitive` - Whether the environment variable key should be treated in a case-sensitive manner for lookups
Throws:
  `java.io.IOException`

### Method Detail

#### getValue

    public java.lang.Object getValue(java.lang.String expression)

If the expression starts with 'env.' then trim this prefix. Next, resolve the (possibly trimmed) expression as an environment variable name against the collection of environment variables that were read from the operating system when this `ValueSource` instance was created.

Parameters:
  `expression` - envar expression, like 'HOME' or 'env.HOME'
Returns:
  the environment variable value for the given expression