Interface Generator

    • Method Detail

      • getOutputName

        String getOutputName()
        Get the name of the output (for error messages).
        Returns:
        name of the output
      • getFormat

        FileFormat getFormat()
        Get the generated file format.
        Returns:
        generated file format
      • startMessage

        void startMessage​(String root,
                          String messageTypeKey,
                          double version)
                   throws IOException
        Start CCSDS message.
        Parameters:
        messageTypeKey - key for message type
        root - root element for XML files
        version - format version
        Throws:
        IOException - if an I/O error occurs.
      • endMessage

        void endMessage​(String root)
                 throws IOException
        End CCSDS message.
        Parameters:
        root - root element for XML files
        Throws:
        IOException - if an I/O error occurs.
      • writeComments

        void writeComments​(List<String> comments)
                    throws IOException
        Write comment lines.
        Parameters:
        comments - comments to write
        Throws:
        IOException - if an I/O error occurs.
      • writeEntry

        void writeEntry​(String key,
                        String value,
                        Unit unit,
                        boolean mandatory)
                 throws IOException
        Write a single key/value entry.
        Parameters:
        key - the keyword to write
        value - the value to write
        unit - output unit (may be null)
        mandatory - if true, null values triggers exception, otherwise they are silently ignored
        Throws:
        IOException - if an I/O error occurs.
      • writeEntry

        void writeEntry​(String key,
                        List<String> value,
                        boolean mandatory)
                 throws IOException
        Write a single key/value entry.
        Parameters:
        key - the keyword to write
        value - the value to write
        mandatory - if true, null values triggers exception, otherwise they are silently ignored
        Throws:
        IOException - if an I/O error occurs.
      • writeEntry

        void writeEntry​(String key,
                        Enum<?> value,
                        boolean mandatory)
                 throws IOException
        Write a single key/value entry.
        Parameters:
        key - the keyword to write
        value - the value to write
        mandatory - if true, null values triggers exception, otherwise they are silently ignored
        Throws:
        IOException - if an I/O error occurs.
      • writeEntry

        void writeEntry​(String key,
                        TimeConverter converter,
                        AbsoluteDate date,
                        boolean forceCalendar,
                        boolean mandatory)
                 throws IOException
        Write a single key/value entry.
        Parameters:
        key - the keyword to write
        converter - converter to use for dates
        date - the date to write
        forceCalendar - if true, the date is forced to calendar format
        mandatory - if true, null values triggers exception, otherwise they are silently ignored
        Throws:
        IOException - if an I/O error occurs.
      • writeEntry

        void writeEntry​(String key,
                        char value,
                        boolean mandatory)
                 throws IOException
        Write a single key/value entry.
        Parameters:
        key - the keyword to write
        value - the value to write
        mandatory - if true, null values triggers exception, otherwise they are silently ignored
        Throws:
        IOException - if an I/O error occurs.
      • writeEntry

        void writeEntry​(String key,
                        int value,
                        boolean mandatory)
                 throws IOException
        Write a single key/value entry.

        Note that the mandatory flag has no effect and a value is always written because the whole domain of value is treated as valid. Use writeEntry(String, Integer, boolean) for integer values that may not be present.

        Parameters:
        key - the keyword to write
        value - the value to write
        mandatory - if true, null values triggers exception, otherwise they are silently ignored.
        Throws:
        IOException - if an I/O error occurs.
        See Also:
        writeEntry(String, Integer, boolean)
      • writeEntry

        default void writeEntry​(String key,
                                Integer value,
                                boolean mandatory)
                         throws IOException
        Write a single key/value entry.
        Parameters:
        key - the keyword to write
        value - the value to write
        mandatory - if true, null values triggers exception, otherwise they are silently ignored
        Throws:
        IOException - if an I/O error occurs.
      • writeEntry

        void writeEntry​(String key,
                        double value,
                        Unit unit,
                        boolean mandatory)
                 throws IOException
        Write a single key/value entry.
        Parameters:
        key - the keyword to write
        value - the value to write (in SI units)
        unit - output unit
        mandatory - if true, null values triggers exception, otherwise they are silently ignored
        Throws:
        IOException - if an I/O error occurs.
      • writeEntry

        void writeEntry​(String key,
                        Double value,
                        Unit unit,
                        boolean mandatory)
                 throws IOException
        Write a single key/value entry.
        Parameters:
        key - the keyword to write
        value - the value to write (in SI units)
        unit - output unit
        mandatory - if true, null values triggers exception, otherwise they are silently ignored
        Throws:
        IOException - if an I/O error occurs.
      • newLine

        void newLine()
              throws IOException
        Finish current line.
        Throws:
        IOException - if an I/O error occurs.
      • writeRawData

        void writeRawData​(char data)
                   throws IOException
        Write raw data.
        Parameters:
        data - raw data to write
        Throws:
        IOException - if an I/O error occurs.
      • writeRawData

        void writeRawData​(CharSequence data)
                   throws IOException
        Write raw data.
        Parameters:
        data - raw data to write
        Throws:
        IOException - if an I/O error occurs.
      • enterSection

        void enterSection​(String name)
                   throws IOException
        Enter into a new section.
        Parameters:
        name - section name
        Throws:
        IOException - if an I/O error occurs.
      • exitSection

        String exitSection()
                    throws IOException
        Exit last section.
        Returns:
        section name
        Throws:
        IOException - if an I/O error occurs.
      • dateToString

        String dateToString​(TimeConverter converter,
                            AbsoluteDate date)
        Convert a date to string value with high precision.
        Parameters:
        converter - converter for dates
        date - date to write
        Returns:
        date as a string (may be either a relative date or a calendar date)
      • dateToCalendarString

        String dateToCalendarString​(TimeConverter converter,
                                    AbsoluteDate date)
        Convert a date to calendar string value with high precision.
        Parameters:
        converter - converter for dates
        date - date to write
        Returns:
        date as a calendar string
        Since:
        12.0
      • dateToString

        String dateToString​(int year,
                            int month,
                            int day,
                            int hour,
                            int minute,
                            double seconds)
        Convert a date to string value with high precision.
        Parameters:
        year - year
        month - month
        day - day
        hour - hour
        minute - minute
        seconds - seconds
        Returns:
        date as a string
      • doubleToString

        String doubleToString​(double value)
        Convert a double to string value with high precision.

        We don't want to loose internal accuracy when writing doubles but we also don't want to have ugly representations like STEP = 1.25000000000000000 so we try a few simple formats first and fall back to scientific notation if it doesn't work.

        Parameters:
        value - value to format
        Returns:
        formatted value, with all original value accuracy preserved, or null if value is null or Double.NaN
      • unitsListToString

        String unitsListToString​(List<Unit> units)
        Convert a list of units to a bracketed string.
        Parameters:
        units - lists to output (may be null or empty)
        Returns:
        bracketed string (null if units list is null or empty)
      • siToCcsdsName

        String siToCcsdsName​(String siName)
        Convert a SI unit name to a CCSDS name.
        Parameters:
        siName - si unit name
        Returns:
        CCSDS name for the unit