Coverage Report - org.dishevelled.timer.TimerReport
 
Classes in this File Line Coverage Branch Coverage Complexity
TimerReport
N/A
N/A
1
 
 1  
 /*
 2  
 
 3  
     dsh-timer  Timer with nanosecond resolution and summary statistics
 4  
     on recorded elapsed times.
 5  
     Copyright (c) 2004-2013 held jointly by the individual authors.
 6  
 
 7  
     This library is free software; you can redistribute it and/or modify it
 8  
     under the terms of the GNU Lesser General Public License as published
 9  
     by the Free Software Foundation; either version 3 of the License, or (at
 10  
     your option) any later version.
 11  
 
 12  
     This library is distributed in the hope that it will be useful, but WITHOUT
 13  
     ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or
 14  
     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
 15  
     License for more details.
 16  
 
 17  
     You should have received a copy of the GNU Lesser General Public License
 18  
     along with this library;  if not, write to the Free Software Foundation,
 19  
     Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
 20  
 
 21  
     > http://www.fsf.org/licensing/licenses/lgpl.html
 22  
     > http://www.opensource.org/licenses/lgpl-license.php
 23  
 
 24  
 */
 25  
 package org.dishevelled.timer;
 26  
 
 27  
 import java.io.File;
 28  
 import java.io.IOException;
 29  
 import java.io.OutputStream;
 30  
 
 31  
 import java.util.Map;
 32  
 
 33  
 /**
 34  
  * Timer report.
 35  
  */
 36  
 public interface TimerReport
 37  
 {
 38  
 
 39  
     /**
 40  
      * Append the specified map of timers keyed by runnables to the specified appendable.
 41  
      *
 42  
      * @param <T> extends Appendable
 43  
      * @param timers map of timers keyed by runnables to append, must not be null
 44  
      * @param appendable appendable to append the specified map of timers keyed by runnables to, must not be null
 45  
      * @return the specified appendable with the specified map of timers keyed by runnables appended
 46  
      * @throws IOException if an IO error occurs
 47  
      */
 48  
     <T extends Appendable> T append(Map<? extends Runnable, Timer> timers, T appendable) throws IOException;
 49  
 
 50  
     /**
 51  
      * Write the specified map of timers keyed by runnables to the specified file.
 52  
      *
 53  
      * @param timers map of timers keyed by runnables to append, must not be null
 54  
      * @param file file to write to, must not be null
 55  
      * @throws IOException if an IO error occurs
 56  
      */
 57  
     void write(Map<? extends Runnable, Timer> timers, File file) throws IOException;
 58  
 
 59  
     /**
 60  
      * Write the specified map of timers keyed by runnables to the specified output stream.
 61  
      *
 62  
      * @param timers map of timers keyed by runnables to append, must not be null
 63  
      * @param outputStream output stream to write to, must not be null
 64  
      * @throws IOException if an IO error occurs
 65  
      */
 66  
     void write(Map<? extends Runnable, Timer> timers, OutputStream outputStream) throws IOException;
 67  
 }