Clover coverage report - Code Coverage for tapestry release 4.0.2
Coverage timestamp: Thu Apr 13 2006 10:52:06 EDT
file stats: LOC: 100   Methods: 6
NCLOC: 49   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ValuePart.java 100% 100% 83.3% 97%
coverage coverage
 1    // Copyright 2004, 2005 The Apache Software Foundation
 2    //
 3    // Licensed under the Apache License, Version 2.0 (the "License");
 4    // you may not use this file except in compliance with the License.
 5    // You may obtain a copy of the License at
 6    //
 7    // http://www.apache.org/licenses/LICENSE-2.0
 8    //
 9    // Unless required by applicable law or agreed to in writing, software
 10    // distributed under the License is distributed on an "AS IS" BASIS,
 11    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 12    // See the License for the specific language governing permissions and
 13    // limitations under the License.
 14   
 15    package org.apache.tapestry.multipart;
 16   
 17    import java.util.ArrayList;
 18    import java.util.List;
 19   
 20    /**
 21    * A portion of a multipart request that stores a value, or values, for a parameter.
 22    *
 23    * @author Howard Lewis Ship
 24    * @since 2.0.1
 25    */
 26   
 27    public class ValuePart
 28    {
 29    private int _count;
 30   
 31    // Stores either String or List of String
 32    private Object _value;
 33   
 34  25 public ValuePart(String value)
 35    {
 36  25 _count = 1;
 37  25 _value = value;
 38    }
 39   
 40  2 public int getCount()
 41    {
 42  2 return _count;
 43    }
 44   
 45    /**
 46    * Returns the value, or the first value (if multi-valued).
 47    */
 48   
 49  2 public String getValue()
 50    {
 51  2 if (_count == 1)
 52  1 return (String) _value;
 53   
 54  1 List l = (List) _value;
 55   
 56  1 return (String) l.get(0);
 57    }
 58   
 59    /**
 60    * Returns the values as an array of strings. If there is only one value, it is returned wrapped
 61    * as a single element array.
 62    */
 63   
 64  25 public String[] getValues()
 65    {
 66  25 if (_count == 1)
 67  22 return new String[]
 68    { (String) _value };
 69   
 70  3 List l = (List) _value;
 71   
 72  3 return (String[]) l.toArray(new String[_count]);
 73    }
 74   
 75  4 public void add(String newValue)
 76    {
 77  4 if (_count == 1)
 78    {
 79  3 List l = new ArrayList();
 80  3 l.add(_value);
 81  3 l.add(newValue);
 82   
 83  3 _value = l;
 84  3 _count++;
 85  3 return;
 86    }
 87   
 88  1 List l = (List) _value;
 89  1 l.add(newValue);
 90  1 _count++;
 91    }
 92   
 93    /**
 94    * Does nothing.
 95    */
 96   
 97  0 public void cleanup()
 98    {
 99    }
 100    }