You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2007/09/04 08:08:40 UTC
svn commit: r572538 -
/geronimo/sandbox/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/console/IO.java
Author: jdillon
Date: Mon Sep 3 23:08:39 2007
New Revision: 572538
URL: http://svn.apache.org/viewvc?rev=572538&view=rev
Log:
Add verbosity field to IO container
Modified:
geronimo/sandbox/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/console/IO.java
Modified: geronimo/sandbox/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/console/IO.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/console/IO.java?rev=572538&r1=572537&r2=572538&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/console/IO.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/console/IO.java Mon Sep 3 23:08:39 2007
@@ -36,21 +36,21 @@
/**
* Raw input stream.
*
- * @see #in
+ * @see #in For general usage, please use the reader.
*/
public final InputStream inputStream;
/**
* Raw output stream.
*
- * @see #out
+ * @see #out For general usage, please use the writer.
*/
public final OutputStream outputStream;
/**
* Raw error output stream.
*
- * @see #err
+ * @see #err For general usage, please use the writer.
*/
public final OutputStream errorStream;
@@ -70,6 +70,12 @@
public final PrintWriter err;
/**
+ * The verbosity setting, which commands (and framework) should inspect and respect when
+ * spitting up output to the user.
+ */
+ private Verbosity verbosity = Verbosity.INFO;
+
+ /**
* Construct a new IO container.
*
* @param in The input steam; must not be null
@@ -108,6 +114,48 @@
}
/**
+ * Set the verbosity level.
+ *
+ * @param verbosity
+ */
+ public void setVerbosity(final Verbosity verbosity) {
+ assert verbosity != null;
+
+ this.verbosity = verbosity;
+ }
+
+ /**
+ * Check if the verbosity level is set to {@link Verbosity#QUIET}.
+ */
+ public boolean isQuiet() {
+ return verbosity == Verbosity.QUIET;
+ }
+
+ /**
+ * Check if the verbosity level is set to {@link Verbosity#INFO}.
+ */
+ public boolean isInfo() {
+ return verbosity == Verbosity.INFO;
+ }
+
+ /**
+ * Check if the verbosity level is set to {@link Verbosity#VERBOSE}.
+ */
+ public boolean isVerbose() {
+ return verbosity == Verbosity.VERBOSE;
+ }
+
+ /**
+ * Check if the verbosity level is set to {@link Verbosity#DEBUG}.
+ *
+ * <p>For generaly usage, when debug output is required, it is better
+ * to use the logging facility instead.
+ */
+ public boolean isDebug() {
+ return verbosity == Verbosity.DEBUG;
+ }
+
+ /**
* Flush both output streams.
*/
public void flush() {
@@ -119,5 +167,20 @@
in.close();
out.close();
err.close();
+ }
+
+ //
+ // Verbosity
+ //
+
+ /**
+ * Defines the valid values of the {@link IO} containers verbosity settings.
+ */
+ public static enum Verbosity
+ {
+ QUIET,
+ INFO,
+ VERBOSE,
+ DEBUG
}
}