Class OcmParser
- java.lang.Object
-
- org.orekit.files.ccsds.utils.parsing.AbstractMessageParser<T>
-
- org.orekit.files.ccsds.utils.parsing.AbstractConstituentParser<OdmHeader,T,P>
-
- org.orekit.files.ccsds.ndm.odm.OdmParser<Ocm,OcmParser>
-
- org.orekit.files.ccsds.ndm.odm.ocm.OcmParser
-
- All Implemented Interfaces:
MessageParser<Ocm>
,EphemerisFileParser<Ocm>
public class OcmParser extends OdmParser<Ocm,OcmParser> implements EphemerisFileParser<Ocm>
A parser for the CCSDS OCM (Orbit Comprehensive Message).Note than starting with Orekit 11.0, CCSDS message parsers are mutable objects that gather the data being parsed, until the message is complete and the
parseMessage
method has returned. This implies that parsers should not be used in a multi-thread context. The recommended way to use parsers is to either dedicate one parser for each message and drop it afterwards, or to use a single-thread loop.- Since:
- 11.0
- Author:
- Luc Maisonobe
-
-
Constructor Summary
Constructors Constructor Description OcmParser(IERSConventions conventions, double equatorialRadius, double flattening, boolean simpleEOP, DataContext dataContext, double mu, ParsedUnitsBehavior parsedUnitsBehavior, Function<ParseToken,List<ParseToken>>[] filters)
Complete constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Ocm
build()
Build the file from parsed entries.boolean
finalizeData()
Finalize data after parsing.boolean
finalizeHeader()
Finalize header after parsing.boolean
finalizeMetadata()
Finalize metadata after parsing.OdmHeader
getHeader()
Get file header to fill.Map<String,XmlTokenBuilder>
getSpecialXmlElementsBuilders()
Get the non-default token builders for special XML elements.boolean
inData()
Acknowledge data parsing has started.boolean
inHeader()
Acknowledge header parsing has started.boolean
inMetadata()
Acknowledge metada parsing has started.Ocm
parse(DataSource source)
Parse an ephemeris file from a data source.boolean
prepareData()
Prepare data for parsing.boolean
prepareHeader()
Prepare header for parsing.boolean
prepareMetadata()
Prepare metadata for parsing.void
reset(FileFormat fileFormat)
Reset parser to initial state before parsing.-
Methods inherited from class org.orekit.files.ccsds.ndm.odm.OdmParser
getMissionReferenceDate, getMuSet, getSelectedMu, setMuCreated, setMuParsed
-
Methods inherited from class org.orekit.files.ccsds.utils.parsing.AbstractConstituentParser
getConventions, getDataContext, getParsedUnitsBehavior, isSimpleEOP
-
Methods inherited from class org.orekit.files.ccsds.utils.parsing.AbstractMessageParser
anticipateNext, getCurrent, getFileFormat, getFormatVersionKey, parseMessage, process, reset, setEndTagSeen, setFallback, wasEndTagSeen
-
-
-
-
Constructor Detail
-
OcmParser
public OcmParser(IERSConventions conventions, double equatorialRadius, double flattening, boolean simpleEOP, DataContext dataContext, double mu, ParsedUnitsBehavior parsedUnitsBehavior, Function<ParseToken,List<ParseToken>>[] filters)
Complete constructor.Calling this constructor directly is not recommended. Users should rather use
parserBuilder.buildOcmParser()
.- Parameters:
conventions
- IERS ConventionsequatorialRadius
- central body equatorial radiusflattening
- central body flatteningsimpleEOP
- if true, tidal effects are ignored when interpolating EOPdataContext
- used to retrieve frames, time scales, etc.mu
- gravitational coefficientparsedUnitsBehavior
- behavior to adopt for handling parsed unitsfilters
- filters to apply to parse tokens- Since:
- 12.0
-
-
Method Detail
-
getSpecialXmlElementsBuilders
public Map<String,XmlTokenBuilder> getSpecialXmlElementsBuilders()
Get the non-default token builders for special XML elements.- Specified by:
getSpecialXmlElementsBuilders
in interfaceMessageParser<Ocm>
- Overrides:
getSpecialXmlElementsBuilders
in classAbstractMessageParser<Ocm>
- Returns:
- map of token builders for special XML elements (keyed by XML element name)
-
parse
public Ocm parse(DataSource source)
Parse an ephemeris file from a data source.- Specified by:
parse
in interfaceEphemerisFileParser<Ocm>
- Parameters:
source
- source providing the data to parse- Returns:
- a parsed ephemeris file.
-
getHeader
public OdmHeader getHeader()
Get file header to fill.- Specified by:
getHeader
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- file header to fill
-
reset
public void reset(FileFormat fileFormat)
Reset parser to initial state before parsing.- Specified by:
reset
in interfaceMessageParser<Ocm>
- Parameters:
fileFormat
- format of the file ready to be parsed
-
prepareHeader
public boolean prepareHeader()
Prepare header for parsing.- Specified by:
prepareHeader
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- true if parser was able to perform the action
-
inHeader
public boolean inHeader()
Acknowledge header parsing has started.- Specified by:
inHeader
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- true if parser was able to perform the action
-
finalizeHeader
public boolean finalizeHeader()
Finalize header after parsing.- Specified by:
finalizeHeader
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- true if parser was able to perform the action
-
prepareMetadata
public boolean prepareMetadata()
Prepare metadata for parsing.- Specified by:
prepareMetadata
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- true if parser was able to perform the action
-
inMetadata
public boolean inMetadata()
Acknowledge metada parsing has started.- Specified by:
inMetadata
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- true if parser was able to perform the action
-
finalizeMetadata
public boolean finalizeMetadata()
Finalize metadata after parsing.- Specified by:
finalizeMetadata
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- true if parser was able to perform the action
-
prepareData
public boolean prepareData()
Prepare data for parsing.- Specified by:
prepareData
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- true if parser was able to perform the action
-
inData
public boolean inData()
Acknowledge data parsing has started.- Specified by:
inData
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- true if parser was able to perform the action
-
finalizeData
public boolean finalizeData()
Finalize data after parsing.- Specified by:
finalizeData
in classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>
- Returns:
- true if parser was able to perform the action
-
build
public Ocm build()
Build the file from parsed entries.- Specified by:
build
in interfaceMessageParser<Ocm>
- Returns:
- parsed file
-
-