Clover coverage report - Drools - 2.0-rc2
Coverage timestamp: Wed May 11 2005 07:12:26 BST
file stats: LOC: 158   Methods: 8
NCLOC: 41   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
FixedDuration.java - 100% 100% 100%
coverage
 1    package org.drools.rule;
 2   
 3    /*
 4    * $Id: FixedDuration.java,v 1.5 2004/12/06 01:30:37 dbarnett Exp $
 5    *
 6    * Copyright 2001-2003 (C) The Werken Company. All Rights Reserved.
 7    *
 8    * Redistribution and use of this software and associated documentation
 9    * ("Software"), with or without modification, are permitted provided that the
 10    * following conditions are met:
 11    *
 12    * 1. Redistributions of source code must retain copyright statements and
 13    * notices. Redistributions must also contain a copy of this document.
 14    *
 15    * 2. Redistributions in binary form must reproduce the above copyright notice,
 16    * this list of conditions and the following disclaimer in the documentation
 17    * and/or other materials provided with the distribution.
 18    *
 19    * 3. The name "drools" must not be used to endorse or promote products derived
 20    * from this Software without prior written permission of The Werken Company.
 21    * For written permission, please contact bob@werken.com.
 22    *
 23    * 4. Products derived from this Software may not be called "drools" nor may
 24    * "drools" appear in their names without prior written permission of The Werken
 25    * Company. "drools" is a trademark of The Werken Company.
 26    *
 27    * 5. Due credit should be given to The Werken Company. (http://werken.com/)
 28    *
 29    * THIS SOFTWARE IS PROVIDED BY THE WERKEN COMPANY AND CONTRIBUTORS ``AS IS''
 30    * AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 31    * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 32    * ARE DISCLAIMED. IN NO EVENT SHALL THE WERKEN COMPANY OR ITS CONTRIBUTORS BE
 33    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 34    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 35    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 36    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 37    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 38    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 39    * POSSIBILITY OF SUCH DAMAGE.
 40    *
 41    */
 42   
 43    import org.drools.spi.Duration;
 44    import org.drools.spi.Tuple;
 45   
 46    /**
 47    * A fixed truthness duration.
 48    *
 49    * @see Rule#setDuration
 50    * @see Rule#getDuration
 51    *
 52    * @author <a href="mailto:bob@werken.com">bob mcwhirter </a>
 53    *
 54    * @version $Id: FixedDuration.java,v 1.5 2004/12/06 01:30:37 dbarnett Exp $
 55    */
 56    public class FixedDuration
 57    implements
 58    Duration
 59    {
 60    // ------------------------------------------------------------
 61    // Instance members
 62    // ------------------------------------------------------------
 63   
 64    /** Duration, in seconds. */
 65    private long duration;
 66   
 67    // ------------------------------------------------------------
 68    // Constructors
 69    // ------------------------------------------------------------
 70   
 71    /**
 72    * Construct.
 73    */
 74  2 public FixedDuration()
 75    {
 76  2 this.duration = 0;
 77    }
 78   
 79    /**
 80    * Construct.
 81    *
 82    * @param seconds
 83    * Number of seconds.
 84    */
 85  5 public FixedDuration(long seconds)
 86    {
 87  5 this.duration = seconds;
 88    }
 89   
 90    // ------------------------------------------------------------
 91    // Instance methods
 92    // ------------------------------------------------------------
 93   
 94    /**
 95    * Add seconds.
 96    *
 97    * @param seconds
 98    * Number of seconds.
 99    */
 100  1 public void addSeconds(long seconds)
 101    {
 102  1 this.duration += seconds;
 103    }
 104   
 105    /**
 106    * Add minutes.
 107    *
 108    * @param minutes
 109    * Number of minutes.
 110    */
 111  1 public void addMinutes(long minutes)
 112    {
 113  1 this.duration += (minutes * 60);
 114    }
 115   
 116    /**
 117    * Add hours.
 118    *
 119    * @param hours
 120    * Number of hours.
 121    */
 122  1 public void addHours(long hours)
 123    {
 124  1 this.duration += (hours * 60 * 60);
 125    }
 126   
 127    /**
 128    * Add days.
 129    *
 130    * @param days
 131    * Number of days.
 132    */
 133  1 public void addDays(long days)
 134    {
 135  1 this.duration += (days * 60 * 60 * 24);
 136    }
 137   
 138    /**
 139    * Add weeks.
 140    *
 141    * @param weeks
 142    * Number of weeks.
 143    */
 144  1 public void addWeeks(long weeks)
 145    {
 146  1 this.duration += (weeks * 60 * 60 * 24 * 7);
 147    }
 148   
 149    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 150   
 151    /**
 152    * @see Duration
 153    */
 154  11 public long getDuration(Tuple tuple)
 155    {
 156  11 return this.duration;
 157    }
 158    }