Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 69383 invoked from network); 4 Sep 2007 06:09:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 Sep 2007 06:09:09 -0000 Received: (qmail 39452 invoked by uid 500); 4 Sep 2007 06:09:04 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 39311 invoked by uid 500); 4 Sep 2007 06:09:04 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 39300 invoked by uid 99); 4 Sep 2007 06:09:04 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Sep 2007 23:09:04 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Sep 2007 06:09:00 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7CEAE1A9832; Mon, 3 Sep 2007 23:08:40 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r572538 - /geronimo/sandbox/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/console/IO.java Date: Tue, 04 Sep 2007 06:08:40 -0000 To: scm@geronimo.apache.org From: jdillon@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20070904060840.7CEAE1A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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}. + * + *

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 } }