Java tutorial
/** * Copyright (c) 2010-2011 Martin M Reed * * 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 3 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, see <http://www.gnu.org/licenses/>. */ package org.hardisonbrewing.maven.core.cli; import org.apache.maven.plugin.logging.Log; import org.codehaus.plexus.util.cli.StreamConsumer; import org.hardisonbrewing.maven.core.JoJoMojo; /** * A {@link StreamConsumer} designed to output lines to a {@link Log} instance. */ public class LogStreamConsumer implements StreamConsumer { public static final int LEVEL_DEBUG = 0; public static final int LEVEL_INFO = 1; public static final int LEVEL_WARN = 2; public static final int LEVEL_ERROR = 3; private final int level; public LogStreamConsumer(int level) { this.level = level; } @Override public void consumeLine(String line) { Log log = JoJoMojo.getMojo().getLog(); switch (level) { case LEVEL_INFO: log.info(line); break; case LEVEL_WARN: log.warn(line); break; case LEVEL_ERROR: log.error(line); break; default: log.debug(line); } } }