Clover coverage report - gsbase - 2.0.1
Coverage timestamp: Sat Jan 1 2005 12:30:02 EST
file stats: LOC: 131   Methods: 4
NCLOC: 58   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
TraceUtil.java 0% 0% 0% 0%
coverage
 1    /*
 2    * Copyright (c) 1998, 2005 Gargoyle Software Inc. All rights reserved.
 3    *
 4    * Redistribution and use in source and binary forms, with or without
 5    * modification, are permitted provided that the following conditions are met:
 6    *
 7    * 1. Redistributions of source code must retain the above copyright notice,
 8    * this list of conditions and the following disclaimer.
 9    * 2. Redistributions in binary form must reproduce the above copyright notice,
 10    * this list of conditions and the following disclaimer in the documentation
 11    * and/or other materials provided with the distribution.
 12    * 3. The end-user documentation included with the redistribution, if any, must
 13    * include the following acknowledgment:
 14    *
 15    * "This product includes software developed by Gargoyle Software Inc.
 16    * (http://www.GargoyleSoftware.com/)."
 17    *
 18    * Alternately, this acknowledgment may appear in the software itself, if
 19    * and wherever such third-party acknowledgments normally appear.
 20    * 4. The name "Gargoyle Software" must not be used to endorse or promote
 21    * products derived from this software without prior written permission.
 22    * For written permission, please contact info@GargoyleSoftware.com.
 23    * 5. Products derived from this software may not be called "GSBase", nor may
 24    * "GSBase" appear in their name, without prior written permission of
 25    * Gargoyle Software Inc.
 26    *
 27    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
 28    * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 29    * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARGOYLE
 30    * SOFTWARE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 31    * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 32    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 33    * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 34    * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 35    * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 36    * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 37    */
 38    package com.gargoylesoftware.base.trace;
 39   
 40    import java.util.Collection;
 41    import java.util.Iterator;
 42    import java.util.Map;
 43   
 44    /**
 45    * A collection of utility methods dealing with tracing.
 46    *
 47    * @version $Revision: 1.4 $
 48    * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
 49    */
 50    public class TraceUtil {
 51   
 52    private static final String LINE_SEPARATOR
 53    = System.getProperty("line.separator");
 54   
 55  0 private TraceUtil(){
 56    }
 57   
 58    /**
 59    * Dump a collection to the specified TraceChannel.
 60    * @param channel The channel to write the information to.
 61    * @param collection The data to write.
 62    */
 63  0 public static void trace( final TraceChannel channel,
 64    final Collection collection ) {
 65   
 66  0 final StringBuffer buffer = new StringBuffer();
 67  0 buffer.append("collection=[");
 68  0 buffer.append(collection.getClass().getName());
 69  0 buffer.append("]");
 70   
 71  0 final Iterator iterator = collection.iterator();
 72  0 while( iterator.hasNext() ) {
 73  0 buffer.append( LINE_SEPARATOR );
 74  0 buffer.append( " " );
 75  0 buffer.append( iterator.next() );
 76    }
 77   
 78  0 Trace.println( channel, buffer.toString() );
 79    }
 80   
 81    /**
 82    * Dump a map to the specified TraceChannel.
 83    * @param channel The channel to write the information to.
 84    * @param collection The data to write.
 85    */
 86  0 public static void trace( final TraceChannel channel,
 87    final Map collection ) {
 88  0 Map.Entry entry;
 89   
 90  0 final StringBuffer buffer = new StringBuffer();
 91  0 buffer.append("map=[");
 92  0 buffer.append(collection.getClass().getName());
 93  0 buffer.append("]");
 94   
 95  0 final Iterator iterator = collection.entrySet().iterator();
 96  0 while( iterator.hasNext() ) {
 97  0 entry = (Map.Entry)iterator.next();
 98  0 buffer.append( LINE_SEPARATOR );
 99  0 buffer.append( " " );
 100  0 buffer.append( entry.getKey() );
 101  0 buffer.append( "=" );
 102  0 buffer.append( entry.getValue() );
 103    }
 104   
 105  0 Trace.println( channel, buffer.toString() );
 106    }
 107   
 108    /**
 109    * Dump an object array to the specified TraceChannel.
 110    * @param channel The channel to write the information to.
 111    * @param array The data to write.
 112    */
 113  0 public static void trace( final TraceChannel channel,
 114    final Object[] array ) {
 115  0 final StringBuffer buffer = new StringBuffer();
 116  0 buffer.append("Array size=[");
 117  0 buffer.append(array.length);
 118  0 buffer.append("]");
 119  0 int i;
 120  0 for( i=0; i<array.length; i++ ) {
 121  0 buffer.append(LINE_SEPARATOR);
 122  0 buffer.append(" array[");
 123  0 buffer.append(i);
 124  0 buffer.append("]=");
 125  0 buffer.append(array[i]);
 126    }
 127   
 128  0 Trace.println( channel, buffer.toString() );
 129    }
 130    }
 131