@Override public void intervalUpdated(Interval aCaller) { IntervalInfo dummy = new IntervalInfo(aCaller); synchronized(intervalLock){ int index = _cachedIntervalInfos.indexOf(dummy); if (index==-1) return; _cachedIntervalInfos.get(index).update(); } }
@Override public void intervalCreated(Interval aInterval) { synchronized(intervalLock){ _cachedIntervalInfos.add(new IntervalInfo(aInterval)); } }
/** * Creates the list of existing intervals. */ private void createIntervalList(){ synchronized(intervalLock){ if (_cachedIntervalInfos!=null) return; List<Interval> intervals = intervalRegistry.getIntervals(); _cachedIntervalInfos = new ArrayList<IntervalInfo>(intervals.size()); for (Interval interval : intervals) { _cachedIntervalInfos.add(new IntervalInfo(interval)); interval.addSecondaryIntervalListener(this); } } }