Class ALcdDAFIFSingleModelDecoder
- All Implemented Interfaces:
ILcdDAFIFDecoder,ILcdInputStreamFactoryCapable,ILcdModelDecoder
- Direct Known Subclasses:
ALcdDAFIFAerodromeDecoder,ALcdDAFIFAirspaceDecoder,TLcdDAFIFATSRouteDecoder,TLcdDAFIFHelipadDecoder,TLcdDAFIFHoldingDecoder,TLcdDAFIFMilitaryTrainingRouteDecoder,TLcdDAFIFOrtcaDecoder,TLcdDAFIFParachuteJumpAreaDecoder,TLcdDAFIFProcedureDecoder,TLcdDAFIFRunwayDecoder,TLcdDAFIFWayPointDecoder
ALcdDAFIFDecoder class defines
the skeleton of the decode algorithm used to decode DAFIF data files.
The decode method will loop through all records in the source file.
A concrete decoder can decide on what to do with each record by implementing the
handleRecord method.
Extensions of the ALcdDAFIFSingleModelDecoder class will decode
so-called "single" model. Such a model has no submodels, as opposed to
the "multi" model.
-
Field Summary
Fields inherited from class com.luciad.format.dafif.decoder.ALcdDAFIFDecoder
DAFIF_PROP_EXTENSION, fRecordCount -
Constructor Summary
ConstructorsConstructorDescriptionALcdDAFIFSingleModelDecoder(Properties aDAFIFProperties) Initializes the DAFIFProperties field with the specified properties object. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcleanUp()This method should be implemented by a concrete class.protected abstract ILcdModelDescriptorcreateModelDescriptor(String aSource) Creates and returns the model descriptor to be set on the model returned in thedecodemethod.Returns a model containing domain objects read from the given source file.protected abstract voidhandleRecord(int aFormat, char[] aRecord) Deals with one record of input.voidsetKeyFeatureNames(String[] aKeyFeatureNames) Specifies anArrayobject containing the names of the features that will be used as a key to insert objects into the model.Methods inherited from class com.luciad.format.dafif.decoder.ALcdDAFIFDecoder
addErrorReport, canDecodeSource, getAltitudeType, getBearingTypeForChar, getBounds, getDAFIFProperties, getDataObjectFactory, getDecodingBounds, getDisplayName, getDomainFactory, getErrorMessage, getInputStream, getInputStreamFactory, getLocalHorizontalDatum, getModelFilter, getRecordCount, initializeErrorMessage, isStoreOriginalReference, isTraceOn, loadCFGProperties, read, readExactValue, readFormat, readMinLength, readRecord, setBounds, setDAFIFModelFilter, setDAFIFProperties, setDataObjectFactory, setDecodingBounds, setDomainFactory, setInputStreamFactory, setStoreOriginalReference, setTraceOn, transformPointToReferenceDatumSFCTMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.luciad.format.dafif.decoder.ILcdDAFIFDecoder
getDecodeFileNameMethods inherited from interface com.luciad.model.ILcdModelDecoder
canDecodeSource, decodeModelMetadata, decodeModelMetadata, decodeSource, discoverDataSources
-
Constructor Details
-
ALcdDAFIFSingleModelDecoder
Initializes the DAFIFProperties field with the specified properties object. This object may be null.If you don't have a properties object here, you can still specify it by decoding a .toc file containing the DAFIF properties. The decoder will read the properties from the .toc file and look for the data file to be decoded in the directory containing this .toc file.
- Parameters:
aDAFIFProperties- aPropertiesobject containing for each domain object the name of its data file or NULL
-
-
Method Details
-
decode
Returns a model containing domain objects read from the given source file.The model will be build by looping through the records found in the source file. Each record will be manipulated by the abstract
handleRecordmethod.Furthermore, the error message will be initialized and filled with reports about errors occurred during the decode proces.
- Parameters:
aSource- either the directory containing the DAFIF source file to decode (if you did not specify a properties file in the constructor, the default file name will be used), a .toc file containing the DAFIF properties (the data file should be in the same directory as the .toc file) or a single file which name corresponds to the file name associated with this decoder (seegetDecodeFileName()).- Returns:
- the model build by reading the file found with aSource
- Throws:
IOException- if an error occurs during the reading process- See Also:
-
cleanUp
protected void cleanUp()Description copied from class:ALcdDAFIFDecoderThis method should be implemented by a concrete class.It should empty all temporary data structures used during the decoding process.
- Specified by:
cleanUpin classALcdDAFIFDecoder
-
handleRecord
protected abstract void handleRecord(int aFormat, char[] aRecord) Deals with one record of input.- Parameters:
aFormat- the format of the recordaRecord- the record
-
createModelDescriptor
Creates and returns the model descriptor to be set on the model returned in thedecodemethod.- Parameters:
aSource- the source that will be used to decode- Returns:
- a model descriptor describing the data in the model created in the decode method
-
setKeyFeatureNames
Specifies anArrayobject containing the names of the features that will be used as a key to insert objects into the model.Please retrieve these feature names from the feature interfaces corresponding with the domain objects (e.g. com.luciad.ais.model.aerodrome.ILcdAerodromeFeature).
- Parameters:
aKeyFeatureNames- anArrayobject containing the names of the features that will be used as a key to insert objects into the model
-