Class AbstractBuilder<T extends 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 Detail

      • 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 Detail

      • 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)