Package org.vast.swe.fast
Class DataBlockProcessor
java.lang.Object
org.vast.swe.fast.DataBlockProcessor
- All Implemented Interfaces:
DataComponentVisitor
- Direct Known Subclasses:
AbstractDataParser
,AbstractDataWriter
Base class for all data block level processors.
The processor tree is pre-configured so that the processing can occur very
fast on many data blocks matching the same components structure.
- Since:
- Dec 7, 2016
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static interface
static interface
static class
static class
static interface
class
static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DataComponent
protected boolean
protected IComponentFilter
protected boolean
protected ArrayDeque<DataBlockProcessor.AtomProcessor>
protected boolean
protected DataBlockProcessor.AtomProcessor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
checkEnabled
(DataComponent comp) protected DataBlockProcessor.ArrayProcessor
getArrayProcessor
(DataArray array) protected abstract DataBlockProcessor.ArraySizeSupplier
getArraySizeSupplier
(String refId) protected abstract DataBlockProcessor.ChoiceProcessor
getChoiceProcessor
(DataChoice choice) protected abstract DataBlockProcessor.ImplicitSizeProcessor
protected DataBlockProcessor.AtomProcessor
getRangeProcessor
(RangeComponent range) protected DataBlockProcessor.RecordProcessor
getRecordProcessor
(DataRecord record) protected DataBlockProcessor.RecordProcessor
getVectorProcessor
(Vector vect) protected abstract void
init()
void
void
setDataComponents
(DataComponent components) protected void
setEnabled
(DataBlockProcessor.AtomProcessor processor) void
visit
(CategoryRange range) void
visit
(CountRange range) void
void
visit
(DataChoice choice) void
visit
(DataRecord record) void
visit
(GeometryData geom) void
visit
(QuantityRange range) void
void
protected void
visitRange
(RangeComponent range)
-
Field Details
-
dataComponents
-
filter
-
rootProcessor
-
processorStack
-
enableSubTree
protected boolean enableSubTree -
processorTreeReady
protected boolean processorTreeReady -
hasVarSizeArray
protected boolean hasVarSizeArray
-
-
Constructor Details
-
DataBlockProcessor
public DataBlockProcessor()
-
-
Method Details
-
init
- Throws:
IOException
-
addToProcessorTree
-
setEnabled
-
checkEnabled
-
visit
- Specified by:
visit
in interfaceDataComponentVisitor
-
visit
- Specified by:
visit
in interfaceDataComponentVisitor
-
visit
- Specified by:
visit
in interfaceDataComponentVisitor
-
visit
- Specified by:
visit
in interfaceDataComponentVisitor
-
visitRange
-
getRangeProcessor
-
visit
- Specified by:
visit
in interfaceDataComponentVisitor
-
getRecordProcessor
-
visit
- Specified by:
visit
in interfaceDataComponentVisitor
-
getVectorProcessor
-
visit
- Specified by:
visit
in interfaceDataComponentVisitor
-
getChoiceProcessor
-
visit
- Specified by:
visit
in interfaceDataComponentVisitor
-
getArrayProcessor
-
getImplicitSizeProcessor
protected abstract DataBlockProcessor.ImplicitSizeProcessor getImplicitSizeProcessor(DataArray array) -
getArraySizeSupplier
-
visit
- Specified by:
visit
in interfaceDataComponentVisitor
-
setDataComponents
-
getDataComponents
-
setDataComponentFilter
-