@Override public Temporal apply(Temporal arg1, Temporal arg2, int flags) { if (arg1 == null) { return arg2; } if (arg2 == null) { return arg1; } if (arg1 instanceof Duration && arg2 instanceof Duration) { return ((Duration) arg1).add((Duration) arg2); } else if (arg1 instanceof Time && arg2 instanceof Duration) { return ((Time) arg1).add((Duration) arg2); } else if (arg1 instanceof Range && arg2 instanceof Duration) { return ((Range) arg1).add((Duration) arg2); } else { throw new UnsupportedOperationException("PLUS not implemented for arg1=" + arg1.getClass() + ", arg2=" + arg2.getClass()); } } },
private static Range getIntersectedRange(CompositePartialTime cpt, Range r, Duration d) { Time beginTime = r.beginTime(); Time endTime = r.endTime(); if (beginTime != TIME_UNKNOWN && endTime != TIME_UNKNOWN) { Time t1 = cpt.intersect(r.beginTime()); if (t1 instanceof PartialTime) { ((PartialTime) t1).withStandardFields(); } Time t2 = cpt.intersect(r.endTime()); if (t2 instanceof PartialTime) { ((PartialTime) t2).withStandardFields(); } return new Range(t1, t2, d); } else if (beginTime != TIME_UNKNOWN && endTime == TIME_UNKNOWN) { Time t1 = cpt.intersect(r.beginTime()); if (t1 instanceof PartialTime) { ((PartialTime) t1).withStandardFields(); } Time t2 = t1.add(d); if (t2 instanceof PartialTime) { ((PartialTime) t2).withStandardFields(); } return new Range(t1, t2, d); } else { throw new RuntimeException("Unsupported range: " + r); } }
if (r != null) { CompositePartialTime cpt = new CompositePartialTime(this, poy, dow, null); Time t1 = cpt.intersect(r.beginTime()); Time t2 = cpt.intersect(r.endTime()); return new Range(t1, t2, d); } else { return super.getRange(flags, granularity); if (r != null) { CompositePartialTime cpt = new CompositePartialTime(this, poy, dow, null); Time t1 = cpt.intersect(r.beginTime()); if (t1 instanceof PartialTime) { ((PartialTime) t1).withStandardFields(); Time t2 = cpt.intersect(r.endTime()); if (t2 instanceof PartialTime) { ((PartialTime) t2).withStandardFields(); return new Range(t1, t2, d); } else { return super.getRange(flags, granularity); if (r != null) { CompositePartialTime cpt = new CompositePartialTime(this, poy, null, null); Time t1 = cpt.intersect(r.beginTime()); Time t2 = cpt.intersect(r.endTime()); return new Range(t1, t2, d); } else { return super.getRange(flags, granularity);
if (r != null) { CompositePartialTime cpt = new CompositePartialTime(this, poy, dow, null); Time t1 = cpt.intersect(r.beginTime()); Time t2 = cpt.intersect(r.endTime()); return new Range(t1, t2, d); } else { return super.getRange(flags, granularity); if (r != null) { CompositePartialTime cpt = new CompositePartialTime(this, poy, dow, null); Time t1 = cpt.intersect(r.beginTime()); if (t1 instanceof PartialTime) { ((PartialTime) t1).withStandardFields(); Time t2 = cpt.intersect(r.endTime()); if (t2 instanceof PartialTime) { ((PartialTime) t2).withStandardFields(); return new Range(t1, t2, d); } else { return super.getRange(flags, granularity); if (r != null) { CompositePartialTime cpt = new CompositePartialTime(this, poy, null, null); Time t1 = cpt.intersect(r.beginTime()); Time t2 = cpt.intersect(r.endTime()); return new Range(t1, t2, d); } else { return super.getRange(flags, granularity);
public String toFormattedString(int flags) { if ((flags & (FORMAT_ISO | FORMAT_TIMEX3_VALUE)) != 0) { if (getTimeLabel() != null) { if (getTimeLabel().isoString != null) { return getTimeLabel().isoString;
@Override public String toFormattedString(int flags) { if ((flags & (FORMAT_ISO | FORMAT_TIMEX3_VALUE)) != 0) { if (getTimeLabel() != null) { return getTimeLabel();
public String toFormattedString(int flags) { if ((flags & (FORMAT_ISO | FORMAT_TIMEX3_VALUE)) != 0) { if (getTimeLabel() != null) { return getTimeLabel();
public Time resolve(Time refTime, int flags) { CompositePartialTime cpt = makeComposite(new PartialTime(this, new Partial()), this); if (cpt != null) { return cpt.resolve(refTime, flags); } Time groundedBase = null; if (base == TIME_REF) { groundedBase = refTime; } else if (base != null) { groundedBase = base.resolve(refTime, flags).getTime(); } Range groundedRange = null; if (range != null) { groundedRange = range.resolve(refTime, flags).getRange(); } /* if (groundedRange == range && groundedBase == base) { return this; } */ final TimeLabel tl = getTimeLabel(); InexactTime t = new InexactTime(groundedBase, duration, groundedRange) { public TimeLabel getTimeLabel() { return tl; } }; t.mod = mod; return t; }
private static Range getIntersectedRange(CompositePartialTime cpt, Range r, Duration d) { Time beginTime = r.beginTime(); Time endTime = r.endTime(); if (beginTime != TIME_UNKNOWN && endTime != TIME_UNKNOWN) { Time t1 = cpt.intersect(r.beginTime()); if (t1 instanceof PartialTime) { ((PartialTime) t1).withStandardFields(); } Time t2 = cpt.intersect(r.endTime()); if (t2 instanceof PartialTime) { ((PartialTime) t2).withStandardFields(); } return new Range(t1, t2, d); } else if (beginTime != TIME_UNKNOWN && endTime == TIME_UNKNOWN) { Time t1 = cpt.intersect(r.beginTime()); if (t1 instanceof PartialTime) { ((PartialTime) t1).withStandardFields(); } Time t2 = t1.add(d); if (t2 instanceof PartialTime) { ((PartialTime) t2).withStandardFields(); } return new Range(t1, t2, d); } else { throw new RuntimeException("Unsupported range: " + r); } }
@Override public Time resolve(Time refTime, int flags) { CompositePartialTime cpt = makeComposite(new PartialTime(this, new Partial()), this); if (cpt != null) { return cpt.resolve(refTime, flags); } Time groundedBase = null; if (base == TIME_REF) { groundedBase = refTime; } else if (base != null) { groundedBase = base.resolve(refTime, flags).getTime(); } Range groundedRange = null; if (range != null) { groundedRange = range.resolve(refTime, flags).getRange(); } /* if (groundedRange == range && groundedBase == base) { return this; } */ return createTemporal(standardTemporalType, timeLabel, mod, new InexactTime(groundedBase, duration, groundedRange)); //return new InexactTime(groundedBase, duration, groundedRange); }
public Time resolve(Time refTime, int flags) { CompositePartialTime cpt = makeComposite(new PartialTime(this, new Partial()), this); if (cpt != null) { return cpt.resolve(refTime, flags); } Time groundedBase = null; if (base == TIME_REF) { groundedBase = refTime; } else if (base != null) { groundedBase = base.resolve(refTime, flags).getTime(); } Range groundedRange = null; if (range != null) { groundedRange = range.resolve(refTime, flags).getRange(); } /* if (groundedRange == range && groundedBase == base) { return this; } */ return createTemporal(standardTemporalType, timeLabel, mod, new InexactTime(groundedBase, duration, groundedRange)); //return new InexactTime(groundedBase, duration, groundedRange); }
@Override public Temporal apply(Temporal arg1, Temporal arg2, int flags) { if (arg1 == null) { return arg2; } if (arg2 == null) { return arg1; } if (arg1 instanceof Duration && arg2 instanceof Duration) { return ((Duration) arg1).add((Duration) arg2); } else if (arg1 instanceof Time && arg2 instanceof Duration) { return ((Time) arg1).add((Duration) arg2); } else if (arg1 instanceof Range && arg2 instanceof Duration) { return ((Range) arg1).add((Duration) arg2); } else { throw new UnsupportedOperationException("PLUS not implemented for arg1=" + arg1.getClass() + ", arg2=" + arg2.getClass()); } } },
public Temporal apply(Temporal arg1, Temporal arg2, int flags) { if (arg1 == null) { return arg2; } if (arg2 == null) { return arg1; } if (arg1 instanceof Duration && arg2 instanceof Duration) { return ((Duration) arg1).add((Duration) arg2); } else if (arg1 instanceof Time && arg2 instanceof Duration) { return ((Time) arg1).add((Duration) arg2); } else if (arg1 instanceof Range && arg2 instanceof Duration) { return ((Range) arg1).add((Duration) arg2); } else { throw new UnsupportedOperationException("PLUS not implemented for arg1=" + arg1.getClass() + ", arg2=" + arg2.getClass()); } } },
public Temporal apply(Temporal arg1, Temporal arg2, int flags) { if (arg1 == null) { return arg2; } if (arg2 == null) { return arg1; } if (arg1 instanceof Duration && arg2 instanceof Duration) { return ((Duration) arg1).add((Duration) arg2); } else if (arg1 instanceof Time && arg2 instanceof Duration) { return ((Time) arg1).add((Duration) arg2); } else if (arg1 instanceof Range && arg2 instanceof Duration) { return ((Range) arg1).add((Duration) arg2); } else { throw new UnsupportedOperationException("PLUS not implemented for arg1=" + arg1.getClass() + ", arg2=" + arg2.getClass()); } } },
public Time resolve(Time refTime, int flags) { CompositePartialTime cpt = makeComposite(new PartialTime(new Partial()), this); if (cpt != null) { return cpt.resolve(refTime, flags); } Range groundedRange = null; if (range != null) { groundedRange = range.resolve(refTime, flags).getRange(); } final TimeLabel tl = getTimeLabel(); TimeWithRange t = new TimeWithRange(this, groundedRange) { public TimeLabel getTimeLabel() { return tl; } }; return t; }
/** * Checks if the provided range r is within the current range. * Note that equal ranges also returns true. * * @param r range * @return true if range r is contained in r */ public boolean contains(Range r) { if ((this.beginTime().getJodaTimeInstant().isBefore(r.beginTime().getJodaTimeInstant()) || this.beginTime().getJodaTimeInstant().isEqual(r.beginTime().getJodaTimeInstant())) && (this.endTime().getJodaTimeInstant().isAfter(r.endTime().getJodaTimeInstant()) || this.endTime().getJodaTimeInstant().isEqual(r.endTime().getJodaTimeInstant()))) { return true; } return false; }
public Range getRange(int flags, Duration granularity) { return new Range(this, this); }
public Temporal intersect(Temporal t) { if (t instanceof Time) { return new RelativeTime((Time) t, TemporalOp.INTERSECT, this); } else if (t instanceof Range) { Range rt = (Range) t; // Assume begin/end defined (TODO: handle if duration defined) Time b = Time.max(begin, rt.begin); Time e = Time.min(end, rt.end); return new Range(b, e); } else if (t instanceof Duration) { return new InexactTime(null, (Duration) t, this); } return null; }
public Range setTimeZone(DateTimeZone tz) { return new Range(this, (Time) Temporal.setTimeZone(begin, tz), (Time) Temporal.setTimeZone(end, tz), duration); }