导航菜单

页面标题

页面副标题

St.John's v1.0.9 - ChartFactory.java 源代码

正在查看: St.John's v1.0.9 应用的 ChartFactory.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package org.achartengine;

import android.content.Context;
import android.content.Intent;
import org.achartengine.chart.BarChart;
import org.achartengine.chart.BubbleChart;
import org.achartengine.chart.CombinedXYChart;
import org.achartengine.chart.CubicLineChart;
import org.achartengine.chart.DialChart;
import org.achartengine.chart.DoughnutChart;
import org.achartengine.chart.LineChart;
import org.achartengine.chart.PieChart;
import org.achartengine.chart.RangeBarChart;
import org.achartengine.chart.ScatterChart;
import org.achartengine.chart.TimeChart;
import org.achartengine.model.CategorySeries;
import org.achartengine.model.MultipleCategorySeries;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.DialRenderer;
import org.achartengine.renderer.XYMultipleSeriesRenderer;

public class ChartFactory {
    public static final String CHART = "chart";
    public static final String TITLE = "title";

    private ChartFactory() {
    }

    public static final GraphicalView getLineChartView(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        return new GraphicalView(context, new LineChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer));
    }

    public static final GraphicalView getCubeLineChartView(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, float f) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        return new GraphicalView(context, new CubicLineChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer, f));
    }

    public static final GraphicalView getScatterChartView(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        return new GraphicalView(context, new ScatterChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer));
    }

    public static final GraphicalView getBubbleChartView(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        return new GraphicalView(context, new BubbleChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer));
    }

    public static final GraphicalView getTimeChartView(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, String str) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        TimeChart timeChart = new TimeChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        timeChart.setDateFormat(str);
        return new GraphicalView(context, timeChart);
    }

    public static final GraphicalView getBarChartView(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, BarChart.Type type) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        return new GraphicalView(context, new BarChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer, type));
    }

    public static final GraphicalView getRangeBarChartView(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, BarChart.Type type) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        return new GraphicalView(context, new RangeBarChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer, type));
    }

    public static final GraphicalView getCombinedXYChartView(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, String[] strArr) {
        if (xYMultipleSeriesDataset == null || xYMultipleSeriesRenderer == null || strArr == null || xYMultipleSeriesDataset.getSeriesCount() != strArr.length) {
            throw new IllegalArgumentException("Dataset, renderer and types should be not null and the datasets series count should be equal to the types length");
        }
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        return new GraphicalView(context, new CombinedXYChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer, strArr));
    }

    public static final GraphicalView getPieChartView(Context context, CategorySeries categorySeries, DefaultRenderer defaultRenderer) {
        checkParameters(categorySeries, defaultRenderer);
        return new GraphicalView(context, new PieChart(categorySeries, defaultRenderer));
    }

    public static final GraphicalView getDialChartView(Context context, CategorySeries categorySeries, DialRenderer dialRenderer) {
        checkParameters(categorySeries, dialRenderer);
        return new GraphicalView(context, new DialChart(categorySeries, dialRenderer));
    }

    public static final GraphicalView getDoughnutChartView(Context context, MultipleCategorySeries multipleCategorySeries, DefaultRenderer defaultRenderer) {
        checkParameters(multipleCategorySeries, defaultRenderer);
        return new GraphicalView(context, new DoughnutChart(multipleCategorySeries, defaultRenderer));
    }

    public static final Intent getLineChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer) {
        return getLineChartIntent(context, xYMultipleSeriesDataset, xYMultipleSeriesRenderer, "");
    }

    public static final Intent getCubicLineChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, float f) {
        return getCubicLineChartIntent(context, xYMultipleSeriesDataset, xYMultipleSeriesRenderer, f, "");
    }

    public static final Intent getScatterChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer) {
        return getScatterChartIntent(context, xYMultipleSeriesDataset, xYMultipleSeriesRenderer, "");
    }

    public static final Intent getBubbleChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer) {
        return getBubbleChartIntent(context, xYMultipleSeriesDataset, xYMultipleSeriesRenderer, "");
    }

    public static final Intent getTimeChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, String str) {
        return getTimeChartIntent(context, xYMultipleSeriesDataset, xYMultipleSeriesRenderer, str, "");
    }

    public static final Intent getBarChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, BarChart.Type type) {
        return getBarChartIntent(context, xYMultipleSeriesDataset, xYMultipleSeriesRenderer, type, "");
    }

    public static final Intent getLineChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, String str) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new LineChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer));
        intent.putExtra(TITLE, str);
        return intent;
    }

    public static final Intent getCubicLineChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, float f, String str) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new CubicLineChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer, f));
        intent.putExtra(TITLE, str);
        return intent;
    }

    public static final Intent getScatterChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, String str) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new ScatterChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer));
        intent.putExtra(TITLE, str);
        return intent;
    }

    public static final Intent getBubbleChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, String str) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new BubbleChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer));
        intent.putExtra(TITLE, str);
        return intent;
    }

    public static final Intent getTimeChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, String str, String str2) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        TimeChart timeChart = new TimeChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        timeChart.setDateFormat(str);
        intent.putExtra(CHART, timeChart);
        intent.putExtra(TITLE, str2);
        return intent;
    }

    public static final Intent getBarChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, BarChart.Type type, String str) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new BarChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer, type));
        intent.putExtra(TITLE, str);
        return intent;
    }

    public static final Intent getRangeBarChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, BarChart.Type type, String str) {
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new RangeBarChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer, type));
        intent.putExtra(TITLE, str);
        return intent;
    }

    public static final Intent getCombinedXYChartIntent(Context context, XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer, String[] strArr, String str) {
        if (xYMultipleSeriesDataset == null || xYMultipleSeriesRenderer == null || strArr == null || xYMultipleSeriesDataset.getSeriesCount() != strArr.length) {
            throw new IllegalArgumentException("Datasets, renderers and types should be not null and the datasets series count should be equal to the types length");
        }
        checkParameters(xYMultipleSeriesDataset, xYMultipleSeriesRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new CombinedXYChart(xYMultipleSeriesDataset, xYMultipleSeriesRenderer, strArr));
        intent.putExtra(TITLE, str);
        return intent;
    }

    public static final Intent getPieChartIntent(Context context, CategorySeries categorySeries, DefaultRenderer defaultRenderer, String str) {
        checkParameters(categorySeries, defaultRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new PieChart(categorySeries, defaultRenderer));
        intent.putExtra(TITLE, str);
        return intent;
    }

    public static final Intent getDoughnutChartIntent(Context context, MultipleCategorySeries multipleCategorySeries, DefaultRenderer defaultRenderer, String str) {
        checkParameters(multipleCategorySeries, defaultRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new DoughnutChart(multipleCategorySeries, defaultRenderer));
        intent.putExtra(TITLE, str);
        return intent;
    }

    public static final Intent getDialChartIntent(Context context, CategorySeries categorySeries, DialRenderer dialRenderer, String str) {
        checkParameters(categorySeries, dialRenderer);
        Intent intent = new Intent(context, (Class<?>) GraphicalActivity.class);
        intent.putExtra(CHART, new DialChart(categorySeries, dialRenderer));
        intent.putExtra(TITLE, str);
        return intent;
    }

    private static void checkParameters(XYMultipleSeriesDataset xYMultipleSeriesDataset, XYMultipleSeriesRenderer xYMultipleSeriesRenderer) {
        if (xYMultipleSeriesDataset == null || xYMultipleSeriesRenderer == null || xYMultipleSeriesDataset.getSeriesCount() != xYMultipleSeriesRenderer.getSeriesRendererCount()) {
            throw new IllegalArgumentException("Dataset and renderer should be not null and should have the same number of series");
        }
    }

    private static void checkParameters(CategorySeries categorySeries, DefaultRenderer defaultRenderer) {
        if (categorySeries == null || defaultRenderer == null || categorySeries.getItemCount() != defaultRenderer.getSeriesRendererCount()) {
            throw new IllegalArgumentException("Dataset and renderer should be not null and the dataset number of items should be equal to the number of series renderers");
        }
    }

    private static void checkParameters(MultipleCategorySeries multipleCategorySeries, DefaultRenderer defaultRenderer) {
        if (multipleCategorySeries == null || defaultRenderer == null || !checkMultipleSeriesItems(multipleCategorySeries, defaultRenderer.getSeriesRendererCount())) {
            throw new IllegalArgumentException("Titles and values should be not null and the dataset number of items should be equal to the number of series renderers");
        }
    }

    private static boolean checkMultipleSeriesItems(MultipleCategorySeries multipleCategorySeries, int i) {
        int categoriesCount = multipleCategorySeries.getCategoriesCount();
        boolean z = true;
        for (int i2 = 0; i2 < categoriesCount && z; i2++) {
            z = multipleCategorySeries.getValues(i2).length == multipleCategorySeries.getTitles(i2).length;
        }
        return z;
    }
}