All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.panayotis.gnuplot.utils.Debug Maven / Gradle / Ivy

Go to download

This JavaPlot library has not been written by me (the author of the PA-Toolbox project). See the given URL for the original JavaPlot project. These files have been extracted from the download JavaPlot-0.5.0.tar.bz2. It is included here just to resolve external dependencies of other PA-Toolbox submodules.

The newest version!
/* 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
 *
 * Created on October 17, 2007, 3:01 PM
 */

package com.panayotis.gnuplot.utils;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;

/**
 * This object is responsible to display debug and/or general information on any
 * given Writer (by default to System.err)
 * .

* It is possible to set another output writer, in order to redirect the errors * whenever the programmer wants. * * @author teras */ public class Debug { /** * Absolutely no debug information is presented */ public final static int QUIET = 0; /** * Only critical information is presented */ public final static int CRITICAL = 10; /** * Only errors and critical information is presented */ public final static int ERROR = 20; /** * Warnings, as well as errors and critical information is presented */ public final static int WARNING = 30; /** * All messages except verbose messages are presented */ public final static int INFO = 40; /** * All messages are presented */ public final static int VERBOSE = 50; private static final String NL = System.getProperty("line.separator"); private int level; private Writer out; /** * Creates a new instance of Debug */ public Debug() { setLevel(WARNING); out = new BufferedWriter(new OutputStreamWriter(System.err)); } /** * Set the level of verbosity. * * @param level Only messages at least as critical as this level are * presented. */ public final void setLevel(int level) { this.level = level; } /** * Present a message on the Debug stream * * @param message Message to display. Automatically adds a newline at the * end of the string. * @param level Level of verbosity. If this level is les critical than the * desired level, the message is not displayed. */ public void msg(String message, int level) { if (message == null || message.equals("")) return; if (level > QUIET && level <= this.level) try { out.write(message); if (!message.endsWith(NL)) out.write(NL); out.flush(); } catch (IOException ex) { System.out.println(ex.getMessage()); } } /** * Set the output writer. By default this is the System.err stream. * * @param out The Debug stream writer. */ public void setWriter(Writer out) { if (out == null) throw new NullPointerException("Debug: set of null output device."); this.out = out; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy