Coverage report

  %line %branch
org.apache.torque.om.DateKey
49% 
78% 

 1  
 package org.apache.torque.om;
 2  
 
 3  
 /*
 4  
  * Licensed to the Apache Software Foundation (ASF) under one
 5  
  * or more contributor license agreements.  See the NOTICE file
 6  
  * distributed with this work for additional information
 7  
  * regarding copyright ownership.  The ASF licenses this file
 8  
  * to you under the Apache License, Version 2.0 (the
 9  
  * "License"); you may not use this file except in compliance
 10  
  * with the License.  You may obtain a copy of the License at
 11  
  *
 12  
  *   http://www.apache.org/licenses/LICENSE-2.0
 13  
  *
 14  
  * Unless required by applicable law or agreed to in writing,
 15  
  * software distributed under the License is distributed on an
 16  
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 17  
  * KIND, either express or implied.  See the License for the
 18  
  * specific language governing permissions and limitations
 19  
  * under the License.
 20  
  */
 21  
 
 22  
 import java.util.Date;
 23  
 
 24  
 /**
 25  
  * This class can be used as an ObjectKey to uniquely identify an
 26  
  * object within an application where the id is a Date.
 27  
  *
 28  
  * @author <a href="mailto:jmcnally@apache.org">John McNally</a>
 29  
  * @version $Id: DateKey.java 476550 2006-11-18 16:08:37Z tfischer $
 30  
  */
 31  
 public class DateKey extends SimpleKey
 32  
 {
 33  
     /**
 34  
      * Serial version
 35  
      */
 36  
     private static final long serialVersionUID = 3102583536685348517L;
 37  
 
 38  
     /**
 39  
      * Creates an DateKey whose internal representation will be
 40  
      * set later, through a set method
 41  
      */
 42  
     public DateKey()
 43  0
     {
 44  0
     }
 45  
 
 46  
     /**
 47  
      * Creates a DateKey whose internal representation is a Date
 48  
      * given by the long number given by the String
 49  
      *
 50  
      * @param key the key value
 51  
      * @throws NumberFormatException if key is not valid
 52  
      */
 53  1
     public DateKey(String key)
 54  22
     {
 55  23
         this.key = new Date(Long.parseLong(key));
 56  23
     }
 57  
 
 58  
     /**
 59  
      * Creates a DateKey
 60  
      *
 61  
      * @param key the key value
 62  
      */
 63  10
     public DateKey(Date key)
 64  220
     {
 65  230
         this.key = key;
 66  230
     }
 67  
 
 68  
     /**
 69  
      * Creates a DateKey that is equivalent to key.
 70  
      *
 71  
      * @param key the key value
 72  
      */
 73  
     public DateKey(DateKey key)
 74  0
     {
 75  0
         if (key != null)
 76  
         {
 77  0
             this.key = key.getValue();
 78  0
         }
 79  
         else
 80  
         {
 81  0
             this.key = null;
 82  
         }
 83  0
     }
 84  
 
 85  
     /**
 86  
      * Sets the internal representation to a String
 87  
      *
 88  
      * @param key the key value
 89  
      */
 90  
     public void setValue(String key)
 91  
     {
 92  0
         this.key = new Date(Long.parseLong(key));
 93  0
     }
 94  
 
 95  
     /**
 96  
      * Sets the internal representation to the same object used by key.
 97  
      *
 98  
      * @param key the key value
 99  
      */
 100  
     public void setValue(DateKey key)
 101  
     {
 102  0
         if (key != null)
 103  
         {
 104  0
             this.key = key.getValue();
 105  0
         }
 106  
         else
 107  
         {
 108  0
             this.key = null;
 109  
         }
 110  0
     }
 111  
 
 112  
     /**
 113  
      * Access the underlying Date object.
 114  
      *
 115  
      * @return a <code>Date</code> value
 116  
      */
 117  
     public Date getDate()
 118  
     {
 119  23
         return (Date) key;
 120  
     }
 121  
 
 122  
     /**
 123  
      * keyObj is equal to this DateKey if keyObj is a DateKey or String
 124  
      * that contains the same information this key contains.  Two ObjectKeys
 125  
      * that both contain null values are not considered equal.
 126  
      *
 127  
      * @param keyObj the comparison value
 128  
      * @return whether the two objects are equal
 129  
      */
 130  
     public boolean equals(Object keyObj)
 131  
     {
 132  23
         boolean isEqual = false;
 133  
 
 134  23
         if (key != null)
 135  
         {
 136  23
             if (keyObj instanceof String)
 137  
             {
 138  0
                 isEqual =  toString().equals(keyObj);
 139  0
             }
 140  
             // check against a DateKey. Two keys are equal, if their
 141  
             // internal keys equivalent.
 142  23
             else if (keyObj instanceof DateKey)
 143  
             {
 144  23
                 Object obj = ((DateKey) keyObj).getValue();
 145  23
                 isEqual =  key.equals(obj);
 146  
             }
 147  
         }
 148  23
         return isEqual;
 149  
     }
 150  
 
 151  
     /**
 152  
      * get a String representation
 153  
      *
 154  
      * @return a String representation of the Date or an empty String if the
 155  
      *          Date is null
 156  
      */
 157  
     public String toString()
 158  
     {
 159  23
         Date dt = getDate();
 160  23
         return (dt == null ? "" : Long.toString(dt.getTime()));
 161  
     }
 162  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.