net.sf.jett.tag.AnaTag Maven / Gradle / Ivy
package net.sf.jett.tag;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import net.sf.jagg.Analytic;
import net.sf.jagg.AnalyticAggregator;
import net.sf.jagg.model.AnalyticValue;
import net.sf.jagg.exception.JaggException;
import org.apache.poi.ss.usermodel.RichTextString;
import net.sf.jett.exception.TagParseException;
import net.sf.jett.transform.BlockTransformer;
import net.sf.jett.util.AttributeUtil;
/**
* An AnaTag
represents analytic values calculated from a
* List
of values already exposed to the context. It uses
* jAgg
functionality and exposes the results and
* AnalyticAggregators
used for display later.
*
*
Attributes:
*
* - Inherits all attributes from {@link BaseTag}.
* - items (required):
List
* - analytics (required):
String
* - analyticsVar (optional):
String
* - valuesVar (required):
String
*
*
* @author Randy Gettman
* @since 0.9.0
*/
public class AnaTag extends BaseTag
{
/**
* Attribute that specifies the List
of items to analyze.
*/
public static final String ATTR_ITEMS = "items";
/**
* Attribute that specifies the List
of analytic functions to
* use.
*/
public static final String ATTR_ANALYTICS = "analytics";
/**
* Attribute that specifies the name of the List
of exposed
* AnalyticAggregators.
*/
public static final String ATTR_ANALYTICS_VAR = "analyticsVar";
/**
* Attribute that specifies name of the List
of exposed
* analytic values.
*/
public static final String ATTR_VALUES_VAR = "valuesVar";
private static final List REQ_ATTRS =
new ArrayList(Arrays.asList(ATTR_ITEMS, ATTR_ANALYTICS, ATTR_VALUES_VAR));
private static final List OPT_ATTRS =
new ArrayList(Arrays.asList(ATTR_ANALYTICS_VAR));
private List