|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectPamguardMVC.DataUnitFinder<Tunit>
public class DataUnitFinder<Tunit extends PamDataUnit>
Class for finding data units in a reasonably controlled and organised way.
It sets up a list iterator at the start of the data block and then searches for each requested data unit from the unit after the last unit requested. This will generally be an efficient way of matching two almost ordered lists of units.
If the iterator gets to the end of the list without finding a match it restarts at the beginning, only returning null (nothing found) when it has been right through the list exactly once.
The finder can work with a default mather of time and channel or with user created matchers which can use any criteria the user wants
DataUnitMatcher,
DefaultUnitMatcher;| Field Summary | |
|---|---|
private DataUnitMatcher |
dataUnitMatcher
|
private Tunit |
lastUnit
|
private java.util.ListIterator<Tunit> |
li
|
private PamDataBlock<Tunit> |
pamDataBlock
|
| Constructor Summary | |
|---|---|
DataUnitFinder(PamDataBlock<Tunit> pamDataBlock)
Create a data unit finder that uses the default matcher. |
|
DataUnitFinder(PamDataBlock<Tunit> pamDataBlock,
DataUnitMatcher dataUnitMatcher)
Create a data unit finder that uses a user created matcher |
|
| Method Summary | |
|---|---|
Tunit |
findDataUnit(java.lang.Object... criteria)
Find a data unit which satisfies the criteria in criteria. |
DataUnitMatcher |
getDataUnitMatcher()
|
Tunit |
getLastUnit()
|
protected java.util.ListIterator<Tunit> |
getListIterator()
|
PamDataBlock<Tunit> |
getPamDataBlock()
|
void |
setDataUnitMatcher(DataUnitMatcher dataUnitMatcher)
|
protected void |
setListIterator(java.util.ListIterator<Tunit> li)
|
protected void |
setupList()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private DataUnitMatcher dataUnitMatcher
private PamDataBlock<Tunit extends PamDataUnit> pamDataBlock
private java.util.ListIterator<Tunit extends PamDataUnit> li
private Tunit extends PamDataUnit lastUnit
| Constructor Detail |
|---|
public DataUnitFinder(PamDataBlock<Tunit> pamDataBlock)
pamDataBlock - parent PamDataBLock
public DataUnitFinder(PamDataBlock<Tunit> pamDataBlock,
DataUnitMatcher dataUnitMatcher)
pamDataBlock - parent PamDataBlockdataUnitMatcher - user created matcher| Method Detail |
|---|
protected void setupList()
public Tunit findDataUnit(java.lang.Object... criteria)
For the default search, the criteria are either just the time in milliseconds OR both the time AND the channel bitmap.
For user defined matchers, the criteria will have to match whatever the matcher expects.
criteria - variable number of matching criteria.
public DataUnitMatcher getDataUnitMatcher()
public void setDataUnitMatcher(DataUnitMatcher dataUnitMatcher)
dataUnitMatcher - the dataUnitMatcher to setpublic PamDataBlock<Tunit> getPamDataBlock()
public Tunit getLastUnit()
protected java.util.ListIterator<Tunit> getListIterator()
protected void setListIterator(java.util.ListIterator<Tunit> li)
li - the list iterator to set
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||