Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2003-2007 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package groovy.time;
 
 
 import java.util.Date;
 import java.util.List;
 
 public abstract class BaseDuration {
     protected final int years;
     protected final int months;    
     protected final int days;
     protected final int hours;
     protected final int minutes;
     protected final int seconds;    
     protected final int millis;
 
     protected BaseDuration(final int yearsfinal int monthsfinal int daysfinal int hoursfinal int minutesfinal int secondsfinal int millis) {
         this. = years;
         this. = months;
         this. = days;
         this. = hours;
         this. = minutes;
         this. = seconds;
         this. = millis;
     }
 
     protected BaseDuration(final int daysfinal int hoursfinal int minutesfinal int secondsfinal int millis) {
         this(0, 0, dayshoursminutessecondsmillis);
     }
     
     public int getYears() {
         return this.;
     }
     
     public int getMonths() {
         return this.;
     }
     
     public int getDays() {
         return this.;
     }
     
     public int getHours() {
         return this.;
     }
     
     public int getMinutes() {
         return this.;
     }
     
     public int getSeconds() {
         return this.;
     }
     
     public int getMillis() {
         return this.;
     }
     
     public Date plus(final Date date) {
     final Calendar cal = Calendar.getInstance();
     
         cal.setTime(date);
         cal.add(.this.);
         cal.add(.this.);
         cal.add(.this.);
         cal.add(.this.);
         cal.add(.this.);
         cal.add(.this.);
         cal.add(.this.);
         
         return cal.getTime();
     }
 
     public String toString() {
         List buffer = new ArrayList();
 
         if (this.      != 0) buffer.add(this.   + " years");
         if (this.     != 0) buffer.add(this.  + " months");
         if (this.       != 0) buffer.add(this.    + " days");
         if (this.      != 0) buffer.add(this.   + " hours");
         if (this.    != 0) buffer.add(this. + " minutes");
 
        if (this. != 0 || this. != 0)
            buffer.add(this. + "." + DefaultGroovyMethods.padLeft("" + this.new Integer(3), "0")  + " seconds");
        return DefaultGroovyMethods.join(buffer", ");
    }
    public abstract long toMilliseconds();
    
    public abstract Date getAgo();
    
    public abstract From getFrom();
    public abstract static class From {
        public abstract Date getNow();
        
        public Date getToday() {
            return getNow();
        }
    }
New to GrepCode? Check out our FAQ X