package com.anychart.enums;

import java.util.Locale;

/**
 * String token enumeration.
 */
public enum StringToken {

    ACTIVITY_INDEX("%activityIndex"),
    AVERAGE("%Average"),
    AXIS_NAME("%AxisName"),
    AXIS_SCALE_MAX("%AxisScaleMax"),
    AXIS_SCALE_MIN("%AxisScaleMin"),
    BUBBLE_SIZE("%BubbleSize"),
    BUBBLE_SIZE_PERCENT_OF_CATEGORY("%BubbleSizePercentOfCategory"),
    BUBBLE_SIZE_PERCENT_OF_SERIES("%BubbleSizePercentOfSeries"),
    BUBBLE_SIZE_PERCENT_OF_TOTAL("%BubbleSizePercentOfTotal"),
    CATEGORY_NAME("%CategoryName"),
    CATEGORY_Y_AVERAGE("%CategoryYAverage"),
    CATEGORY_Y_MEDIAN("%CategoryYMedian"),
    CATEGORY_Y_MODE("%CategoryYMode"),
    CATEGORY_Y_PERCENT_OF_TOTAL("%CategoryYPercentOfTotal"),
    CATEGORY_Y_RANGE_AVERAGE("%CategoryYRangeAverage"),
    CATEGORY_Y_RANGE_MAX("%CategoryYRangeMax"),
    CATEGORY_Y_RANGE_MEDIAN("%CategoryYRangeMedian"),
    CATEGORY_Y_RANGE_MIN("%CategoryYRangeMin"),
    CATEGORY_Y_RANGE_MODE("%CategoryYRangeMode"),
    CATEGORY_Y_RANGE_PERCENT_OF_TOTAL("%CategoryYRangePercentOfTotal"),
    CATEGORY_Y_RANGE_SUM("%CategoryYRangeSum"),
    CATEGORY_Y_SUM("%CategoryYSum"),
    CLOSE("%Close"),
    CUMULATIVE_FREQUENCY("%CF"),
    DATA_PLOT_BUBBLE_MAX_SIZE("%DataPlotBubbleMaxSize"),
    DATA_PLOT_BUBBLE_MIN_SIZE("%DataPlotBubbleMinSize"),
    DATA_PLOT_BUBBLE_SIZE_AVERAGE("%DataPlotBubbleSizeAverage"),
    DATA_PLOT_BUBBLE_SIZE_SUM("%DataPlotBubbleSizeSum"),
    DATA_PLOT_MAX_Y_SUM_SERIES_NAME("%DataPlotMaxYSumSeriesName"),
    DATA_PLOT_MAX_Y_VALUE_POINT_NAME("%DataPlotMaxYValuePointName"),
    DATA_PLOT_MAX_Y_VALUE_POINT_SERIES_NAME("%DataPlotMaxYValuePointSeriesName"),
    DATA_PLOT_MIN_Y_SUM_SERIES_NAME("%DataPlotMinYSumSeriesName"),
    DATA_PLOT_MIN_Y_VALUE_POINT_NAME("%DataPlotMinYValuePointName"),
    DATA_PLOT_MIN_Y_VALUE_POINT_SERIES_NAME("%DataPlotMinYValuePointSeriesName"),
    DATA_PLOT_POINT_COUNT("%DataPlotPointCount"),
    DATA_PLOT_SERIES_COUNT("%DataPlotSeriesCount"),
    DATA_PLOT_X_AVERAGE("%DataPlotXAverage"),
    DATA_PLOT_X_MAX("%DataPlotXMax"),
    DATA_PLOT_X_MIN("%DataPlotXMin"),
    DATA_PLOT_X_SUM("%DataPlotXSum"),
    DATA_PLOT_Y_AVERAGE("%DataPlotYAverage"),
    DATA_PLOT_Y_MAX("%DataPlotYMax"),
    DATA_PLOT_Y_MIN("%DataPlotYMin"),
    DATA_PLOT_Y_RANGE_MAX("%DataPlotYRangeMax"),
    DATA_PLOT_Y_RANGE_MIN("%DataPlotYRangeMin"),
    DATA_PLOT_Y_RANGE_SUM("%DataPlotYRangeSum"),
    DATA_PLOT_Y_SUM("%DataPlotYSum"),
    END("%end"),
    HIGH("%High"),
    INDEX("%Index"),
    LOW("%Low"),
    MINUTES_PER_DAY("%minutesPerDay"),
    NAME("%Name"),
    OPEN("%Open"),
    PERT_CHART_CRITICAL_PATH_STANDARD_DEVIATION("%PertChartCriticalPathStandardDeviation"),
    PERT_CHART_PROJECT_DURATION("%PertChartProjectDuration"),
    RANGE("%Range"),
    RANGE_END("%RangeEnd"),
    RANGE_START("%RangeStart"),
    RELATIVE_FREQUENCY("%RF"),
    RESOURCE_INDEX("%resourceIndex"),
    SELECTED_POINTS_SUM("%selectedPointsSum"),
    SERIES_BUBBLE_MAX_SIZE("%SeriesBubbleMaxSize"),
    SERIES_BUBBLE_MIN_SIZE("%SeriesBubbleMinSize"),
    SERIES_BUBBLE_SIZE_AVERAGE("%SeriesBubbleSizeAverage"),
    SERIES_BUBBLE_SIZE_MEDIAN("%SeriesBubbleSizeMedian"),
    SERIES_BUBBLE_SIZE_MODE("%SeriesBubbleSizeMode"),
    SERIES_BUBBLE_SIZE_SUM("%SeriesBubbleSizeSum"),
    SERIES_FIRST_X_VALUE("%SeriesFirstXValue"),
    SERIES_FIRST_Y_VALUE("%SeriesFirstYValue"),
    SERIES_LAST_X_VALUE("%SeriesLastXValue"),
    SERIES_LAST_Y_VALUE("%SeriesLastYValue"),
    SERIES_NAME("%SeriesName"),
    SERIES_POINT_COUNT("%SeriesPointCount"),
    SERIES_X_AVERAGE("%SeriesXAverage"),
    SERIES_X_AXIS_NAME("%SeriesXAxisName"),
    SERIES_X_MAX("%SeriesXMax"),
    SERIES_X_MEDIAN("%SeriesXMedian"),
    SERIES_X_MIN("%SeriesXMin"),
    SERIES_X_MODE("%SeriesXMode"),
    SERIES_X_SUM("%SeriesXSum"),
    SERIES_Y_AVERAGE("%SeriesYAverage"),
    SERIES_Y_AXIS_NAME("%SeriesYAxisName"),
    SERIES_Y_MAX("%SeriesYMax"),
    SERIES_Y_MEDIAN("%SeriesYMedian"),
    SERIES_Y_MIN("%SeriesYMin"),
    SERIES_Y_MODE("%SeriesYMode"),
    SERIES_Y_RANGE_MAX("%SeriesYRangeMax"),
    SERIES_Y_RANGE_MIN("%SeriesYRangeMin"),
    SERIES_Y_RANGE_SUM("%SeriesYRangeSum"),
    SERIES_Y_SUM("%SeriesYSum"),
    START("%start"),
    VALUE("%Value"),
    X_PERCENT_OF_SERIES("%XPercentOfSeries"),
    X_PERCENT_OF_TOTAL("%XPercentOfTotal"),
    X_VALUE("%XValue"),
    Y_PERCENT_OF_CATEGORY("%YPercentOfCategory"),
    Y_PERCENT_OF_SERIES("%YPercentOfSeries"),
    Y_PERCENT_OF_TOTAL("%YPercentOfTotal"),
    Y_VALUE("%YValue");

    private final String value;

    StringToken(String value) {
        this.value = value;
    }

    public String getJsBase() {
        return String.format(Locale.US, "\"%s\"", value);
    }
}