Class DatumSamplesExpressionRoot

java.lang.Object
java.util.AbstractMap<String,Object>
net.solarnetwork.domain.datum.DatumSamplesExpressionRoot
All Implemented Interfaces:
Map<String,Object>, DatumExpressionRoot, DatumMathFunctions

public class DatumSamplesExpressionRoot extends AbstractMap<String,Object> implements DatumExpressionRoot, DatumMathFunctions
An expression root object implementation that acts like a composite map of parameters, sample data, and datum properties.

The Map implementation treats the given Datum, DatumSamplesOperations, and parameter Map as a single Map, where keys are handled by returning the first found non-null value in the following order:

  1. parameter Map
  2. the DatumSamplesOperations sample, following the Instantaneous, Accumulating, and Status priority defined in DatumSamplesOperations.findSampleValue(String)
  3. if the Datum implements Datum, then call Datum.asSampleOperations() and follow the DatumSamplesOperations.findSampleValue(String) rules again on that
Since:
1.71
Version:
2.1
Author:
matt