/* $Revision$ $Author$ $Date$ * * Copyright (C) 2003-2008 Egon Willighagen <egonw@users.sf.net> * * Contact: cdk-devel@lists.sourceforge.net * * This program 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; either version 2.1 * of the License, or (at your option) any later version. * * This program is distributed 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 this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * */ package org.openscience.cdk.validate; import java.util.ArrayList; import java.util.List; /** * A report on validation of chemical semantics. */ public class ValidationReport { private List<ValidationTest> errors; private List<ValidationTest> warnings; private List<ValidationTest> oks; private List<ValidationTest> cdkErrors; /** * Constructs a new empty ValidationReport. */ public ValidationReport() { errors = new ArrayList<ValidationTest>(); warnings = new ArrayList<ValidationTest>(); oks = new ArrayList<ValidationTest>(); cdkErrors = new ArrayList<ValidationTest>(); } /** * Merges the tests with the tests in this ValidationReport. */ public void addReport(ValidationReport report) { errors.addAll(report.errors); warnings.addAll(report.warnings); oks.addAll(report.oks); cdkErrors.addAll(report.cdkErrors); } /** * Adds a validation test which gives serious errors. */ public void addError(ValidationTest test) { errors.add(test); } /** * Adds a validation test which indicate a possible problem. */ public void addWarning(ValidationTest test) { warnings.add(test); } /** * Adds a validation test which did not find a problem. */ public void addOK(ValidationTest test) { oks.add(test); } /** * Adds a CDK problem. */ public void addCDKError(ValidationTest test) { cdkErrors.add(test); } /** * Returns the number of failed tests. */ public int getErrorCount() { return errors.size(); } /** * Returns the number of tests which gave warnings. */ public int getWarningCount() { return warnings.size(); } /** * Returns the number of tests without errors. */ public int getOKCount() { return oks.size(); } /** * Returns the number of CDK errors. */ public int getCDKErrorCount() { return cdkErrors.size(); } /** * Returns the number of CDK errors. */ public int getCount() { return cdkErrors.size() + errors.size() + warnings.size() + oks.size(); } /** * Returns an array of ValidationTest errors. */ public List<ValidationTest> getErrors() { return errors; } /** * Returns an array of ValidationTest warnings. */ public List<ValidationTest> getWarnings() { return warnings; } /** * Returns an array of ValidationTest which did not find problems. */ public List<ValidationTest> getOKs() { return oks; } /** * Returns an array of ValidationTest indicating CDK problems. */ public List<ValidationTest> getCDKErrors() { return cdkErrors; } }