BaseDuration.java 2.89 KB
package org.joda.time.base;

import java.io.Serializable;
import org.joda.time.Chronology;
import org.joda.time.DateTimeUtils;
import org.joda.time.Interval;
import org.joda.time.Period;
import org.joda.time.PeriodType;
import org.joda.time.ReadableDuration;
import org.joda.time.ReadableInstant;
import org.joda.time.convert.ConverterManager;
import org.joda.time.convert.DurationConverter;
import org.joda.time.field.FieldUtils;

public abstract class BaseDuration
  extends AbstractDuration
  implements Serializable, ReadableDuration
{
  private static final long serialVersionUID = 2581698638990L;
  private volatile long a;
  
  protected BaseDuration(long paramLong)
  {
    this.a = paramLong;
  }
  
  protected BaseDuration(long paramLong1, long paramLong2)
  {
    this.a = FieldUtils.safeAdd(paramLong2, -paramLong1);
  }
  
  protected BaseDuration(Object paramObject)
  {
    this.a = ConverterManager.getInstance().getDurationConverter(paramObject).getDurationMillis(paramObject);
  }
  
  protected BaseDuration(ReadableInstant paramReadableInstant1, ReadableInstant paramReadableInstant2)
  {
    if (paramReadableInstant1 == paramReadableInstant2)
    {
      this.a = 0L;
      return;
    }
    long l = DateTimeUtils.getInstantMillis(paramReadableInstant1);
    this.a = FieldUtils.safeAdd(DateTimeUtils.getInstantMillis(paramReadableInstant2), -l);
  }
  
  public long getMillis()
  {
    return this.a;
  }
  
  protected void setMillis(long paramLong)
  {
    this.a = paramLong;
  }
  
  public Interval toIntervalFrom(ReadableInstant paramReadableInstant)
  {
    return new Interval(paramReadableInstant, this);
  }
  
  public Interval toIntervalTo(ReadableInstant paramReadableInstant)
  {
    return new Interval(this, paramReadableInstant);
  }
  
  public Period toPeriod(Chronology paramChronology)
  {
    return new Period(getMillis(), paramChronology);
  }
  
  public Period toPeriod(PeriodType paramPeriodType)
  {
    return new Period(getMillis(), paramPeriodType);
  }
  
  public Period toPeriod(PeriodType paramPeriodType, Chronology paramChronology)
  {
    return new Period(getMillis(), paramPeriodType, paramChronology);
  }
  
  public Period toPeriodFrom(ReadableInstant paramReadableInstant)
  {
    return new Period(paramReadableInstant, this);
  }
  
  public Period toPeriodFrom(ReadableInstant paramReadableInstant, PeriodType paramPeriodType)
  {
    return new Period(paramReadableInstant, this, paramPeriodType);
  }
  
  public Period toPeriodTo(ReadableInstant paramReadableInstant)
  {
    return new Period(this, paramReadableInstant);
  }
  
  public Period toPeriodTo(ReadableInstant paramReadableInstant, PeriodType paramPeriodType)
  {
    return new Period(this, paramReadableInstant, paramPeriodType);
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/org/joda/time/base/BaseDuration.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */