Clover coverage report - ATP library for Java - 3.6.4-stable-060214
Coverage timestamp: Вт фев 14 2006 13:45:22 MSK
file stats: LOC: 89   Methods: 2
NCLOC: 26   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
LineSplitFilter.java 0% 0% 0% 0%
coverage
 1    /*
 2    * Copyright (c) 2001-2004,
 3    * RedVerst Group, ISP RAS http://www.ispras.ru
 4    * All rights reserved.
 5    *
 6    * Redistribution and use in source and binary forms, with or without
 7    * modification, are permitted provided that the following conditions are met:
 8    *
 9    * 1. Redistributions of source code must retain the above copyright notice, this
 10    * list of conditions and the following disclaimer.
 11    *
 12    * 2. Redistributions in binary form must reproduce the above copyright notice,
 13    * this list of conditions and the following disclaimer in the documentation
 14    * and/or other materials provided with the distribution.
 15    *
 16    * 3. The names "ATP", "TreeDL", "RedVerst", "ISP RAS"
 17    * may not be used to endorse or promote products derived from this software
 18    * without specific prior written permission.
 19    *
 20    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 21    * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 22    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 23    * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 24    * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 25    * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 26    * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 27    * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 28    * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 29    * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 30    */
 31   
 32    package com.unitesk.atp.text.filters;
 33   
 34    /**
 35    * The filter that receives strings containing line separators
 36    * splits them into strings without line separators and line separatos
 37    * and passes all to the client.
 38    *
 39    * @author <A href="mailto:demakov@ispras.ru">Alexey Demakov</A>
 40    * @version $Id: LineSplitFilter.java,v 1.1 2004/10/09 06:36:40 all-x Exp $
 41    */
 42    public class LineSplitFilter extends Filter
 43    {
 44    /**
 45    * Constructs line split filter.
 46    *
 47    * @param client the client of this filter
 48    */
 49  0 public LineSplitFilter( TextReceiver client )
 50    {
 51  0 super( client );
 52    }
 53   
 54    /**
 55    * Receives a string possible containing line separators.
 56    * Splits it to strings without line separators and line separators
 57    * and passes them to the client.
 58    *
 59    * @param s the string to split
 60    * @throws NullPointerException
 61    * if <code>s</code> is <code>null</code>
 62    */
 63  0 public void txt( String s )
 64    {
 65  0 int l = s.length();
 66   
 67  0 for( int i = 0; i < l; )
 68    {
 69  0 int j = s.indexOf( endl, i );
 70  0 if( j < 0 ) j = l;
 71  0 if( i < j )
 72    {
 73  0 client.txt( s.substring( i, j ) );
 74  0 i = j;
 75    } else {
 76  0 client.nl();
 77  0 i += endl.length();
 78    }
 79    }
 80    }
 81   
 82    //--------------------------------------------------------------------------
 83    // implementation
 84   
 85    /**
 86    * The line separator
 87    */
 88    private static final String endl = System.getProperty( "line.separator" );
 89    }