Clover coverage report - Convert - proto0
Coverage timestamp: Mo Nov 22 2004 13:19:16 CET
file stats: LOC: 57   Methods: 6
NCLOC: 32   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
StringToBooleanConverter.java 75% 90,9% 100% 90,5%
coverage coverage
 1    /*
 2    * Copyright 2004 Ronald Blaschke.
 3    *
 4    * Licensed under the Apache License, Version 2.0 (the "License");
 5    * you may not use this file except in compliance with the License.
 6    * You may obtain a copy of the License at
 7    *
 8    * http://www.apache.org/licenses/LICENSE-2.0
 9    *
 10    * Unless required by applicable law or agreed to in writing, software
 11    * distributed under the License is distributed on an "AS IS" BASIS,
 12    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13    * See the License for the specific language governing permissions and
 14    * limitations under the License.
 15    */
 16    package org.rblasch.convert.converters.primitives;
 17   
 18    import org.rblasch.convert.ConversionFailedException;
 19    import org.rblasch.convert.converters.AbstractClassConverter;
 20   
 21    /**
 22    * @author Ronald Blaschke
 23    */
 24    public class StringToBooleanConverter extends AbstractClassConverter {
 25  11 public Class getSourceClass() {
 26  11 return String.class;
 27    }
 28   
 29  11 public Class getDestinationClass() {
 30  11 return Boolean.class;
 31    }
 32   
 33  1 public int getWeight() {
 34  1 return 100;
 35    }
 36   
 37  2 private static boolean isTrue(final String s) {
 38  2 return "true".equalsIgnoreCase(s)
 39    || "1".equalsIgnoreCase(s);
 40    }
 41   
 42  1 private static boolean isFalse(final String s) {
 43  1 return "false".equalsIgnoreCase(s)
 44    || "0".equalsIgnoreCase(s);
 45    }
 46   
 47  2 public Object convert(final Object obj) throws Exception {
 48  2 final String s = ((String) obj).trim();
 49  2 if (isTrue(s)) {
 50  1 return Boolean.TRUE;
 51  1 } else if (isFalse(s)) {
 52  1 return Boolean.FALSE;
 53    } else {
 54  0 throw new ConversionFailedException("Can't convert '" + obj + "' to boolean");
 55    }
 56    }
 57    }