Coverage Report - jaggregate.KeyValuePair
 
Classes in this File Line Coverage Branch Coverage Complexity
KeyValuePair
100%
10/10
100%
2/2
0
 
 1  
 /*
 2  
  Copyright 2004-2008 Paul R. Holser, Jr.  All rights reserved.
 3  
  Licensed under the Academic Free License version 3.0
 4  
  */
 5  
 
 6  
 package jaggregate;
 7  
 
 8  
 /**
 9  
  * A simple string-to-string pair, created by parsing a string of the form
 10  
  * {@code "key=value"}.
 11  
  *
 12  
  * @author <a href="mailto:pholser@alumni.rice.edu">Paul Holser</a>
 13  
  * @version $Id: KeyValuePair.java,v 1.2 2008/03/26 18:00:33 pholser Exp $
 14  
  */
 15  
 public final class KeyValuePair extends Pair<String, String> {
 16  
     private static final long serialVersionUID = -1L;
 17  
     private static final String ZERO_LENGTH = "";
 18  
 
 19  
     private KeyValuePair( String key, String value ) {
 20  7
         super( key, value );
 21  7
     }
 22  
 
 23  
     /**
 24  
      * Creates a string-to-string pair by parsing a string of the form {@code
 25  
      * "key=value"}.
 26  
      *
 27  
      * @param aString the string representation of the pair
 28  
      * @return the pair
 29  
      */
 30  
     public static KeyValuePair parse( String aString ) {
 31  8
         int indexOfEqualsSign = aString.indexOf( "=" );
 32  7
         if ( indexOfEqualsSign == -1 )
 33  2
             return new KeyValuePair( aString, ZERO_LENGTH );
 34  
 
 35  5
         String parsedKey = aString.substring( 0, indexOfEqualsSign );
 36  
         String parsedValue;
 37  
 
 38  5
         if ( indexOfEqualsSign == aString.length() - 1 )
 39  1
             parsedValue = ZERO_LENGTH;
 40  
         else
 41  4
             parsedValue = aString.substring( indexOfEqualsSign + 1 );
 42  
 
 43  5
         return new KeyValuePair( parsedKey, parsedValue );
 44  
     }
 45  
 }