/* Copyright (c) 2007-2014 by panayotis.com * * JavaPlot is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, version 2. * * JavaPlot is free in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with CrossMobile; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ package com.panayotis.gnuplot.dataset.parser; /** * Generic data parser for numeric data * * @author teras */ public abstract class NumericDataParser implements DataParser { private boolean first_column_date; /** * Create a new numeric data parser */ public NumericDataParser() { this(false); } /** * Create a new numeric data parser, with the information that the first * column is in date format. * * @param first_column_date Whether the first column is in date format */ public NumericDataParser(boolean first_column_date) { this.first_column_date = first_column_date; } /** * Check whether a data value with a specific index number is valid or not * * @param data The numerical data to check * @param index The index of the specified data * @return True, if the data is valid. */ public boolean isValid(String data, int index) { if (first_column_date && index == 0) return true; return checkNumberFormat(data); } /** * Check whether this String represents a number * * @param format the String containing the number * @return True, if this is a representation of a number */ protected abstract boolean checkNumberFormat(String format); }