Class Iso8601Converter

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  Iso8601Converter.DateKit
      Helper class which contains all the items which are potentially expensive to produce but cannot be shared by different threads.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Iso8601Converter​(uk.ac.starlink.table.ValueInfo isoInfo, uk.ac.starlink.table.ValueInfo numInfo)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object convert​(java.lang.Object in)
      Performs a conversion from the input type to the output type.
      protected static double dateToMjd​(int year, int month, int day, int hour, int min, double sec)
      Converts a calendar date and time to Modified Julian Date.
      protected abstract double fromMjd​(double mjd)
      Converts from Modified Julian Date to this converter's public date.
      uk.ac.starlink.table.ValueInfo getInputInfo()
      Returns metadata describing the values on the input end of the conversion.
      protected static Iso8601Converter.DateKit getKit()
      Returns a date kit private to the calling thread.
      uk.ac.starlink.table.ValueInfo getOutputInfo()
      Returns metadata describing the values on the output end of the conversion.
      static long mjdToUnixMillis​(double mjd)
      Converts from modified Julian date to milliseconds since the Unix epoch (1970-01-01T00:00:00).
      protected abstract double toMjd​(double number)
      Converts from this converter's public date value to Modified Julian Date.
      java.lang.Object unconvert​(java.lang.Object out)
      Performs a reverse conversion, from the output type to the input type.
      protected static double unixMillisToMjd​(long unixMillis)
      Converts from milliseconds since the Unix epoch (1970-01-01T00:00:00) to a modified Julian date value
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Iso8601Converter

        protected Iso8601Converter​(uk.ac.starlink.table.ValueInfo isoInfo,
                                   uk.ac.starlink.table.ValueInfo numInfo)
        Constructor.
        Parameters:
        isoInfo - input value metadata (describing ISO-8601 strings)
        numInfo - output value metadata (describing numeric date)
    • Method Detail

      • getInputInfo

        public uk.ac.starlink.table.ValueInfo getInputInfo()
        Description copied from interface: ValueConverter
        Returns metadata describing the values on the input end of the conversion.
        Specified by:
        getInputInfo in interface ValueConverter
        Returns:
        input info
      • getOutputInfo

        public uk.ac.starlink.table.ValueInfo getOutputInfo()
        Description copied from interface: ValueConverter
        Returns metadata describing the values on the output end of the conversion.
        Specified by:
        getOutputInfo in interface ValueConverter
        Returns:
        output info
      • convert

        public java.lang.Object convert​(java.lang.Object in)
        Description copied from interface: ValueConverter
        Performs a conversion from the input type to the output type. In general if the conversion cannot be done, a null value should be returned rather than throwing an unchecked exception.
        Specified by:
        convert in interface ValueConverter
        Parameters:
        in - object of input type
        Returns:
        corresponding object of output type
      • unconvert

        public java.lang.Object unconvert​(java.lang.Object out)
        Description copied from interface: ValueConverter
        Performs a reverse conversion, from the output type to the input type. In general if the conversion cannot be done, a null value should be returned rather than throwing an unchecked exception.
        Specified by:
        unconvert in interface ValueConverter
        Parameters:
        out - object of output type
        Returns:
        corresponding object of input type
      • toMjd

        protected abstract double toMjd​(double number)
        Converts from this converter's public date value to Modified Julian Date.
        Parameters:
        number - date value
        Returns:
        date as MJD
      • fromMjd

        protected abstract double fromMjd​(double mjd)
        Converts from Modified Julian Date to this converter's public date.
        Parameters:
        mjd - date as MJD
        Returns:
        date value
      • dateToMjd

        protected static double dateToMjd​(int year,
                                          int month,
                                          int day,
                                          int hour,
                                          int min,
                                          double sec)
        Converts a calendar date and time to Modified Julian Date.
        Parameters:
        year - year AD
        month - index of month; January is 1, December is 12
        day - day of month (the first day is 1)
        hour - hour (0-23)
        min - minute (0-59)
        sec - second (0<=sec<60)
        Returns:
        modified Julian date corresponding to arguments
      • unixMillisToMjd

        protected static double unixMillisToMjd​(long unixMillis)
        Converts from milliseconds since the Unix epoch (1970-01-01T00:00:00) to a modified Julian date value
        Parameters:
        unixMillis - milliseconds since the Unix epoch
        Returns:
        modified Julian date
      • mjdToUnixMillis

        public static long mjdToUnixMillis​(double mjd)
        Converts from modified Julian date to milliseconds since the Unix epoch (1970-01-01T00:00:00).
        Parameters:
        mjd - modified Julian date
        Returns:
        milliseconds since the Unix epoch
      • getKit

        protected static Iso8601Converter.DateKit getKit()
        Returns a date kit private to the calling thread.
        Returns:
        date kit