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 classstatic interfacestatic interfacestatic classstatic classstatic interfaceclassstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DataComponentprotected booleanprotected IComponentFilterprotected booleanprotected ArrayDeque<DataBlockProcessor.AtomProcessor>protected booleanprotected DataBlockProcessor.AtomProcessor -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidcheckEnabled(DataComponent comp) protected DataBlockProcessor.ArrayProcessorgetArrayProcessor(DataArray array) protected abstract DataBlockProcessor.ArraySizeSuppliergetArraySizeSupplier(String refId) protected abstract DataBlockProcessor.ChoiceProcessorgetChoiceProcessor(DataChoice choice) protected abstract DataBlockProcessor.ImplicitSizeProcessorprotected DataBlockProcessor.AtomProcessorgetRangeProcessor(RangeComponent range) protected DataBlockProcessor.RecordProcessorgetRecordProcessor(DataRecord record) protected DataBlockProcessor.RecordProcessorgetVectorProcessor(Vector vect) protected abstract voidinit()voidvoidsetDataComponents(DataComponent components) protected voidsetEnabled(DataBlockProcessor.AtomProcessor processor) voidvisit(CategoryRange range) voidvisit(CountRange range) voidvoidvisit(DataChoice choice) voidvisit(DataRecord record) voidvisit(GeometryData geom) voidvisit(QuantityRange range) voidvoidprotected voidvisitRange(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:
visitin interfaceDataComponentVisitor
-
visit
- Specified by:
visitin interfaceDataComponentVisitor
-
visit
- Specified by:
visitin interfaceDataComponentVisitor
-
visit
- Specified by:
visitin interfaceDataComponentVisitor
-
visitRange
-
getRangeProcessor
-
visit
- Specified by:
visitin interfaceDataComponentVisitor
-
getRecordProcessor
-
visit
- Specified by:
visitin interfaceDataComponentVisitor
-
getVectorProcessor
-
visit
- Specified by:
visitin interfaceDataComponentVisitor
-
getChoiceProcessor
-
visit
- Specified by:
visitin interfaceDataComponentVisitor
-
getArrayProcessor
-
getImplicitSizeProcessor
protected abstract DataBlockProcessor.ImplicitSizeProcessor getImplicitSizeProcessor(DataArray array) -
getArraySizeSupplier
-
visit
- Specified by:
visitin interfaceDataComponentVisitor
-
setDataComponents
-
getDataComponents
-
setDataComponentFilter
-