de.jaret.examples.timebars.timeline
Class DistributeOverlapStrategy

java.lang.Object
  extended by de.jaret.examples.timebars.timeline.DistributeOverlapStrategy
All Implemented Interfaces:
de.jaret.util.ui.timebars.strategy.IOverlapStrategy

public class DistributeOverlapStrategy
extends java.lang.Object
implements de.jaret.util.ui.timebars.strategy.IOverlapStrategy

Implementation of an overlap strategy simply distributing the intervals over a number of rows.

Version:
$Id: $
Author:
kliem

Field Summary
protected  de.jaret.util.ui.timebars.TimeBarViewerDelegate _delegate
          the delegate the stragey works for.
protected  int _numRows
           
protected  java.util.Map<de.jaret.util.ui.timebars.model.TimeBarRow,java.util.Map<de.jaret.util.date.Interval,de.jaret.util.ui.timebars.strategy.OverlapInfo>> _oiRowCache
          Cache for overlap infos.
 
Constructor Summary
DistributeOverlapStrategy(de.jaret.util.ui.timebars.TimeBarViewerDelegate delegate, int numRows)
          Construct the strategy.
 
Method Summary
 void clearCachedData()
          
 void dispose()
           Simply helps the garbage collector.
 int getMaxOverlapCount(de.jaret.util.ui.timebars.model.TimeBarRow row)
          
 de.jaret.util.ui.timebars.strategy.OverlapInfo getOverlapInfo(de.jaret.util.ui.timebars.model.TimeBarRow row, de.jaret.util.date.Interval interval)
          
 java.util.Map<de.jaret.util.date.Interval,de.jaret.util.ui.timebars.strategy.OverlapInfo> updateOICache(de.jaret.util.ui.timebars.model.TimeBarRow row)
           Assumes sorted Intervals.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_delegate

protected de.jaret.util.ui.timebars.TimeBarViewerDelegate _delegate
the delegate the stragey works for.


_oiRowCache

protected java.util.Map<de.jaret.util.ui.timebars.model.TimeBarRow,java.util.Map<de.jaret.util.date.Interval,de.jaret.util.ui.timebars.strategy.OverlapInfo>> _oiRowCache
Cache for overlap infos.


_numRows

protected int _numRows
Constructor Detail

DistributeOverlapStrategy

public DistributeOverlapStrategy(de.jaret.util.ui.timebars.TimeBarViewerDelegate delegate,
                                 int numRows)
Construct the strategy.

Parameters:
delegate - the delegate the strategy works for
numRows - number of rows to distribute the intervals on
Method Detail

getOverlapInfo

public de.jaret.util.ui.timebars.strategy.OverlapInfo getOverlapInfo(de.jaret.util.ui.timebars.model.TimeBarRow row,
                                                                     de.jaret.util.date.Interval interval)

Specified by:
getOverlapInfo in interface de.jaret.util.ui.timebars.strategy.IOverlapStrategy

getMaxOverlapCount

public int getMaxOverlapCount(de.jaret.util.ui.timebars.model.TimeBarRow row)

Specified by:
getMaxOverlapCount in interface de.jaret.util.ui.timebars.strategy.IOverlapStrategy

updateOICache

public java.util.Map<de.jaret.util.date.Interval,de.jaret.util.ui.timebars.strategy.OverlapInfo> updateOICache(de.jaret.util.ui.timebars.model.TimeBarRow row)
Assumes sorted Intervals.

Specified by:
updateOICache in interface de.jaret.util.ui.timebars.strategy.IOverlapStrategy

clearCachedData

public void clearCachedData()

Specified by:
clearCachedData in interface de.jaret.util.ui.timebars.strategy.IOverlapStrategy

dispose

public void dispose()
Simply helps the garbage collector.

Specified by:
dispose in interface de.jaret.util.ui.timebars.strategy.IOverlapStrategy


Copyright © 2012. All Rights Reserved.