Class AbstractBuilder<T extends AbstractBuilder<T>>

java.lang.Object
org.orekit.files.ccsds.ndm.AbstractBuilder<T>
Type Parameters:
T - type of the builder
Direct Known Subclasses:
ParserBuilder, WriterBuilder

public abstract class AbstractBuilder<T extends AbstractBuilder<T>> extends Object
Abstract builder for all CCSDS Message files parsers/writers.
Since:
11.0
Author:
Luc Maisonobe
  • Constructor Details

    • AbstractBuilder

      protected AbstractBuilder(IERSConventions conventions, double equatorialRadius, double flattening, DataContext dataContext, AbsoluteDate missionReferenceDate, RangeUnitsConverter rangeUnitsConverter)
      Complete constructor.
      Parameters:
      conventions - IERS Conventions
      equatorialRadius - central body equatorial radius
      flattening - central body flattening
      dataContext - used to retrieve frames, time scales, etc.
      missionReferenceDate - reference date for Mission Elapsed Time or Mission Relative Time time systems
      rangeUnitsConverter - converter for Range Units
  • Method Details

    • create

      protected abstract T create(IERSConventions newConventions, double newEquatorialRadius, double newFlattening, DataContext newDataContext, AbsoluteDate newMissionReferenceDate, RangeUnitsConverter newRangeUnitsConverter)
      Build an instance.
      Parameters:
      newConventions - IERS Conventions
      newEquatorialRadius - central body equatorial radius
      newFlattening - central body flattening
      newDataContext - used to retrieve frames, time scales, etc.
      newMissionReferenceDate - reference date for Mission Elapsed Time or Mission Relative Time time systems
      newRangeUnitsConverter - converter for Range Units
      Returns:
      new instance
    • withConventions

      public T withConventions(IERSConventions newConventions)
      Set up IERS conventions.
      Parameters:
      newConventions - IERS Conventions
      Returns:
      a new builder with updated configuration (the instance is not changed)
    • getConventions

      public IERSConventions getConventions()
      Get the IERS conventions.
      Returns:
      IERS conventions
    • withEquatorialRadius

      public T withEquatorialRadius(double newEquatorialRadius)
      Set up the central body equatorial radius.
      Parameters:
      newEquatorialRadius - central body equatorial radius
      Returns:
      a new builder with updated configuration (the instance is not changed)
    • getEquatorialRadius

      public double getEquatorialRadius()
      Get the central body equatorial radius.
      Returns:
      central body equatorial radius
    • withFlattening

      public T withFlattening(double newFlattening)
      Set up the central body flattening.
      Parameters:
      newFlattening - central body flattening
      Returns:
      a new builder with updated configuration (the instance is not changed)
    • getFlattening

      public double getFlattening()
      Get the central body flattening.
      Returns:
      central body flattening
    • withDataContext

      public T withDataContext(DataContext newDataContext)
      Set up data context used to retrieve frames, time scales, etc..
      Parameters:
      newDataContext - data context used to retrieve frames, time scales, etc.
      Returns:
      a new builder with updated configuration (the instance is not changed)
    • getDataContext

      public DataContext getDataContext()
      Get the data context.
      Returns:
      data context used to retrieve frames, time scales, etc.
    • withMissionReferenceDate

      public T withMissionReferenceDate(AbsoluteDate newMissionReferenceDate)
      Set up mission reference date or Mission Elapsed Time or Mission Relative Time time systems.

      The mission reference date is used only by AemParser and ApmParser, and by OpmParser, OmmParser and OemParser up to version 2.0 of ODM (starting with version 3.0 of ODM, both MET and MRT time system have been withdrawn from the standard).

      Parameters:
      newMissionReferenceDate - mission reference date or Mission Elapsed Time or Mission Relative Time time systems
      Returns:
      a new builder with updated configuration (the instance is not changed)
    • getMissionReferenceDate

      public AbsoluteDate getMissionReferenceDate()
      Get the mission reference date or Mission Elapsed Time or Mission Relative Time time systems.
      Returns:
      mission reference date
    • withRangeUnitsConverter

      public T withRangeUnitsConverter(RangeUnitsConverter newRangeUnitsConverter)
      Set up the converter for Range Units.
      Parameters:
      newRangeUnitsConverter - converter for Range Units
      Returns:
      a new builder with updated configuration (the instance is not changed)
    • getRangeUnitsConverter

      public RangeUnitsConverter getRangeUnitsConverter()
      Get the converter for Range Units.
      Returns:
      converter for Range Units