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

net.sourceforge.cobertura.javancss.ccl.Util Maven / Gradle / Ivy

Go to download

Cobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage.

There is a newer version: 2.1.1
Show newest version
/**
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is the reusable ccl java library
 * (http://www.kclee.com/clemens/java/ccl/).
 *
 * The Initial Developer of the Original Code is
 * Chr. Clemens Lee.
 * Portions created by Chr. Clemens Lee are Copyright (C) 2002
 * Chr. Clemens Lee. All Rights Reserved.
 *
 * Contributor(s): Chr. Clemens Lee 
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 *
 **/

package net.sourceforge.cobertura.javancss.ccl;

import java.util.Vector;

/**
 * A general purpose class with a variety of support and convenience methods.
 * 

*

There are different groups of methods in this class: *
*
print methods - convenience methods for System.out.print etc. that additionally make sure output is gets flushed immediately. *
string methods *
string/vector converter methods *
miscellaneous methods *

*

* Some basic but none the less the most used methods by myself are:
* - {@link #isEmpty(java.lang.String) isEmpty}
* - {@link #stringToLines(java.lang.String) stringToLines}
* - {@link #sleep(int) sleep}
*

* * @author * Chr. Clemens Lee * < * [email protected] * > */ /* * cobertura - this file was moved from net.sourceforge.cobertura.javancss package. * * Mark Doliner apparently got the source from somewhere, but it is not available now. */ public class Util { public static final Object CONSTANT_OBJECT = new Object(); /** * This is an utility class, there is (should be) no need * for an instance of this class. */ private Util() { super(); } // ----------------------------------------------------- // debug methods and assertion stuff // ----------------------------------------------------- /** * panicIf <=> not assert. Throws ApplicationException if true. * It's not necessary to catch this exception. */ public static void panicIf(boolean bPanic_) { if (bPanic_) { throw (new RuntimeException()); } } /** * panicIf <=> not assert. Throws ApplicationException if true. * It's not necessary to catch this exception. * * @param sMessage_ The error message for the Exception. */ public static void panicIf(boolean bPanic_, String sMessage_) { if (bPanic_) { throw (new RuntimeException(sMessage_)); } } /** * Tests, if a given String equals null or "". */ public static boolean isEmpty(String sTest_) { if (sTest_ == null || sTest_.equals("")) { return true; } return false; } /** * This function takes a String and separates it into different * lines. The last line does not need to have a separator character. * * @param lines_ The number of lines that should be extracted. * Zero if maximum number of lines is requested. * @param cCutter_ The character that separates pString_ into * different lines * * @return The single lines do not contain the cCutter_ * character at the end. */ private static Vector stringToLines(int lines_, String pString_, char cCutter_) { int maxLines = Integer.MAX_VALUE; if (lines_ > 0) { maxLines = lines_; } Vector vRetVal = new Vector(); if (pString_ == null) { return vRetVal; } int startIndex = 0; for (; maxLines > 0; maxLines--) { int endIndex = pString_.indexOf(cCutter_, startIndex); if (endIndex == -1) { if (startIndex < pString_.length()) { endIndex = pString_.length(); } else { break; } } String sLine = pString_.substring(startIndex, endIndex); vRetVal.addElement(sLine); startIndex = endIndex + 1; } return vRetVal; } /** * This function takes a String and separates it into different * lines. The last line does not need to have a separator character. * * @param cCutter_ The character that separates pString_ into * different lines * * @return The single lines do not contain the cCutter_ character * at the end. */ public static Vector stringToLines(String pString_, char cCutter_) { return stringToLines(0, pString_, cCutter_); } /** * This function takes a String and separates it into different * lines. The last line does not need to have a '\n'. The function * can't handle dos carriage returns. * * @return The single lines do not contain the '\n' character * at the end. */ public static Vector stringToLines(String pString_) { return stringToLines(pString_, '\n'); } /** * Current thread sleeps in seconds. */ private static void sleep(int seconds_) { try { Thread.sleep(seconds_ * 1000); } catch (Exception pException) { } } public static Vector concat(Vector vFirst_, Vector vSecond_) { //cobertura Mark Doliner appears to have simplified this. vFirst_.addAll(vSecond_); return vFirst_; } public static Vector sort(Vector input) { //cobertura - apparently Mark Doliner didn't think we need to sort. return input; } // cobertura - gotten from decompile of ccl.jar. public static void debug(Object oMessage_) { if (_bDebug) printlnErr(oMessage_.toString()); } public static Object getConstantObject() { return CONSTANT_OBJECT; } // cobertura - gotten from decompile of ccl.jar. public static void setDebug(boolean bDebug_) { _bDebug = bDebug_; } // cobertura = gotten from decompile of ccl.jar. public static boolean isDebug() { return _bDebug; } // cobertura = gotten from decompile of ccl.jar. public static void println(String pString_) { System.out.println(pString_); System.out.flush(); } // cobertura = gotten from decompile of ccl.jar. public static void printErr(char c_) { System.err.print(c_); System.err.flush(); } // cobertura = gotten from decompile of ccl.jar. public static void printErr(String pString_) { System.err.print(pString_); System.err.flush(); } // cobertura = gotten from decompile of ccl.jar. public static void printlnErr() { printErr('\n'); } // cobertura = gotten from decompile of ccl.jar. public static void printlnErr(String sMessage_) { printErr(sMessage_); printlnErr(); } // cobertura = gotten from decompile of ccl.jar. private static boolean _bDebug = false; }