public Time beginTime() { if (begin != null) { Range r = begin.getRange(); if (r != null && !begin.equals(r.begin)) { return r.begin; } } return begin; }
@Override public Temporal resolve(Time t, int flags) { if (t == null) return this; // No resolving to be done? if (base instanceof PartialTime) { PartialTime pt = (PartialTime) base.resolve(t,flags); List<Temporal> list = pt.toList(); if (list != null && list.size() >= n) { return list.get(n-1); } } else if (base instanceof Duration) { Duration d = ((Duration) base).multiplyBy(n-1); Time temp = t.getRange().begin(); return temp.offset(d,0).reduceGranularityTo(d.getDuration()); } return this; }
public Time beginTime() { if (begin != null) { Range r = begin.getRange(); if (r != null && !begin.equals(r.begin)) { return r.begin; } } return begin; }
public Range getRange(int flags, Duration granularity) { if (range != null) { return range.getRange(flags, granularity); } else if (base != null) { return base.getRange(flags, granularity); } else return null; }
public Time beginTime() { if (begin != null) { Range r = begin.getRange(); if (r != null && !begin.equals(r.begin)) { // return r.beginTime(); return r.begin; } } return begin; }
public InexactTime(Partial partial) { this.base = new PartialTime(partial); this.range = base.getRange(); this.approx = true; }
public InexactTime(Partial partial) { this.base = new PartialTime(partial); this.range = base.getRange(); this.approx = true; }
public Interval<Time> getInterval() { Range r = getRange(); if (r != null) { return r.getInterval(); } else return null; }
public Time intersect(Time t) { if (t.getRange().contains(this.getRange())) { return this; } else { return null; } }
@Override public Range getRange(int flags, Duration granularity) { if (range != null) { return range.getRange(flags, granularity); } else if (base != null) { return base.getRange(flags, granularity); } else return null; }
@Override public Time intersect(Time t) { if (t.getRange().contains(this.getRange())) { return this; } else { return null; } }
public InexactTime(Partial partial) { this.base = new PartialTime(partial); this.range = base.getRange(); this.approx = true; }
@Override public Interval<Time> getInterval() { Range r = getRange(); if (r != null) { return r.getInterval(); } else return null; }
Duration d = getDuration(); if (tod != null) { Range r = tod.getRange(flags, granularity); if (r != null) { CompositePartialTime cpt = new CompositePartialTime(this, poy, dow, null); Range r = dow.getRange(flags, granularity); if (r != null) { CompositePartialTime cpt = new CompositePartialTime(this, poy, dow, null); Range r = poy.getRange(flags, granularity); if (r != null) { CompositePartialTime cpt = new CompositePartialTime(this, poy, null, null);
public Time mid() { if (duration != null && begin != null) { Time b = begin.getRange(RANGE_FLAGS_PAD_SPECIFIED,duration.getGranularity()).begin(); return b.add(duration.divideBy(2)); } else if (duration != null && end != null) { return end.subtract(duration.divideBy(2)); } else if (begin != null && end != null) { // TODO: .... } else if (begin != null) { return begin; } else if (end != null) { return end; } return null; }
@Override public Time intersect(Time t) { if (t.getRange().contains(this.getRange())) { return this; } else { return null; } }
@Override public Range getRange(int flags, Duration granularity) { if (range != null) { return range.getRange(flags, granularity); } else if (base != null) { return base.getRange(flags, granularity); } else return null; }
public InexactTime(Partial partial) { this.base = new PartialTime(partial); this.range = base.getRange(); this.approx = true; }
@Override public Interval<Time> getInterval() { Range r = getRange(); if (r != null) { return r.getInterval(); } else return null; }