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
parseMessagemethod 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 Ocmbuild()Build the file from parsed entries.booleanfinalizeData()Finalize data after parsing.booleanfinalizeHeader()Finalize header after parsing.booleanfinalizeMetadata()Finalize metadata after parsing.OdmHeadergetHeader()Get file header to fill.Map<String,XmlTokenBuilder>getSpecialXmlElementsBuilders()Get the non-default token builders for special XML elements.booleaninData()Acknowledge data parsing has started.booleaninHeader()Acknowledge header parsing has started.booleaninMetadata()Acknowledge metada parsing has started.Ocmparse(DataSource source)Parse an ephemeris file from a data source.booleanprepareData()Prepare data for parsing.booleanprepareHeader()Prepare header for parsing.booleanprepareMetadata()Prepare metadata for parsing.voidreset(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:
getSpecialXmlElementsBuildersin interfaceMessageParser<Ocm>- Overrides:
getSpecialXmlElementsBuildersin 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:
parsein 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:
getHeaderin classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>- Returns:
- file header to fill
-
reset
public void reset(FileFormat fileFormat)
Reset parser to initial state before parsing.- Specified by:
resetin interfaceMessageParser<Ocm>- Parameters:
fileFormat- format of the file ready to be parsed
-
prepareHeader
public boolean prepareHeader()
Prepare header for parsing.- Specified by:
prepareHeaderin 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:
inHeaderin classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>- Returns:
- true if parser was able to perform the action
-
finalizeHeader
public boolean finalizeHeader()
Finalize header after parsing.- Specified by:
finalizeHeaderin classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>- Returns:
- true if parser was able to perform the action
-
prepareMetadata
public boolean prepareMetadata()
Prepare metadata for parsing.- Specified by:
prepareMetadatain 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:
inMetadatain classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>- Returns:
- true if parser was able to perform the action
-
finalizeMetadata
public boolean finalizeMetadata()
Finalize metadata after parsing.- Specified by:
finalizeMetadatain classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>- Returns:
- true if parser was able to perform the action
-
prepareData
public boolean prepareData()
Prepare data for parsing.- Specified by:
prepareDatain 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:
inDatain classAbstractConstituentParser<OdmHeader,Ocm,OcmParser>- Returns:
- true if parser was able to perform the action
-
finalizeData
public boolean finalizeData()
Finalize data after parsing.- Specified by:
finalizeDatain 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:
buildin interfaceMessageParser<Ocm>- Returns:
- parsed file
-
-