T
- type of TimePeriodpublic interface SequenceManager<T extends TimePeriod> extends SplitManager<T>
SplitManager
where the TimePeriod
s are arranged in
ordered sequences. By default these are non-overlapping sequences in time order.
Optionally overlapps can be enabled on a sequence by sequence bases in which case the sequence order
is roughly time ordered.Modifier and Type | Method and Description |
---|---|
default void |
canChangeEnd(T current,
java.util.Date d)
Additional validation checks
|
default void |
canChangeStart(T current,
java.util.Date d)
Additional validation checks
|
boolean |
canMerge(T first,
T second)
Test to see if two periods can be merged.
|
default T |
getMergeCandidate(T current,
boolean move_up)
Get the element from the sequence most likely to be merged with the
current record
|
T |
getNextInSequence(T current,
boolean move_up)
Get the next entry in the sequence.
|
T |
merge(T first,
T second)
Merge two periods
|
default boolean |
noOverlapps(T target)
Does the record come from a sequence that disallows overlapping records
|
void |
setEnd(T period,
java.util.Date d)
Change the end date on the period
|
void |
setStart(T period,
java.util.Date d)
Change the start date on the period
|
canSplit, getDateInput, getEditLimit, getEditMarker, split
default boolean noOverlapps(T target)
target
- boolean canMerge(T first, T second)
first
- second
- T merge(T first, T second) throws java.lang.Exception
first
- second
- java.lang.Exception
T getNextInSequence(T current, boolean move_up)
current
- starting periodmove_up
- direction of movedefault T getMergeCandidate(T current, boolean move_up)
current
- move_up
- default void canChangeStart(T current, java.util.Date d) throws ValidateException
current
- d
- ValidateException
default void canChangeEnd(T current, java.util.Date d) throws ValidateException
current
- d
- ValidateException
void setStart(T period, java.util.Date d) throws java.lang.Exception
period
- d
- java.lang.Exception
void setEnd(T period, java.util.Date d) throws java.lang.Exception
period
- d
- java.lang.Exception