return new InexactTime(new TimeWithRange(likelyRange), this, r);
return new InexactTime(new TimeWithRange(likelyRange), this, r);
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; }
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 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 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 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 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 Time add(Duration offset) { if (getTimeLabel() != null) { // Time has some meaning, keep as is return new RelativeTime(this, TemporalOp.OFFSET, offset); } else { // Some other time, who know what it means // Try to do offset return new InexactTime(this, (Time) TemporalOp.OFFSET.apply(base, offset), duration, (Range) TemporalOp.OFFSET.apply(range, offset)); } }
public Time add(Duration offset) { //if (getTimeLabel() != null) { if (getStandardTemporalType() != null) { // Time has some meaning, keep as is return new RelativeTime(this, TemporalOp.OFFSET_EXACT, offset); } else { // Some other time, who know what it means // Try to do offset return new InexactTime(this, (Time) TemporalOp.OFFSET_EXACT.apply(base, offset), duration, (Range) TemporalOp.OFFSET_EXACT.apply(range, offset)); } }
@Override public Time add(Duration offset) { //if (getTimeLabel() != null) { if (getStandardTemporalType() != null) { // Time has some meaning, keep as is return new RelativeTime(this, TemporalOp.OFFSET_EXACT, offset); } else { // Some other time, who know what it means // Try to do offset return new InexactTime(this, (Time) TemporalOp.OFFSET_EXACT.apply(base, offset), duration, (Range) TemporalOp.OFFSET_EXACT.apply(range, offset)); } }
@Override public InexactTime setTimeZone(DateTimeZone tz) { return new InexactTime(this, (Time) Temporal.setTimeZone(base, tz), duration, (Range) Temporal.setTimeZone(range, tz)); }
public InexactTime setTimeZone(DateTimeZone tz) { return new InexactTime(this, (Time) Temporal.setTimeZone(base, tz), duration, (Range) Temporal.setTimeZone(range, tz)); }
@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); }
@Override 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; }
@Override public InexactTime setTimeZone(DateTimeZone tz) { return new InexactTime(this, (Time) Temporal.setTimeZone(base, tz), duration, (Range) Temporal.setTimeZone(range, tz)); }
@Override public Time add(Duration offset) { //if (getTimeLabel() != null) { if (getStandardTemporalType() != null) { // Time has some meaning, keep as is return new RelativeTime(this, TemporalOp.OFFSET_EXACT, offset); } else { // Some other time, who know what it means // Try to do offset return new InexactTime(this, (Time) TemporalOp.OFFSET_EXACT.apply(base, offset), duration, (Range) TemporalOp.OFFSET_EXACT.apply(range, offset)); } }