Class DatetimeConverter

  • All Implemented Interfaces:
    IConverter

    public class DatetimeConverter
    extends ScalarConverterBase
    A converter for slots typed as xsd:datetime (represented as ZonedDateTime).

    This supports LinkML’s datetime type. Unfortunately, the LinkML specification says nothing about how a datetime value is expected to be serialised, so the behaviour of this converter is based on the behaviour of the LinkML-Py implementation.

    When deserialising, this converter expects a ISO8601-like string, where the separator between the date and time parts can be either 'T' or a space. Also, it accepts a string containing the date part only.

    When serialising, the converter turns a ZonedDateTime object into a ISO8601-like string with 'T' as the date/time separator.

    • Constructor Detail

      • DatetimeConverter

        public DatetimeConverter()
    • Method Detail

      • getType

        public Class<?> getType()
        Description copied from interface: IConverter
        Gets the type of object that this converter can convert a raw object into.
        Returns:
        The Java type representing the LinkML object this converter is intended for.
      • serialise

        public Object serialise​(Object object,
                                ConverterContext ctx)
                         throws LinkMLRuntimeException
        Description copied from interface: IConverter
        Converts a LinkML object into a raw object.

        Given the Java representation of a LinkML object, this method shall return an object suitable to be given to a generic JSON/YAML writer.

        Specified by:
        serialise in interface IConverter
        Overrides:
        serialise in class ScalarConverterBase
        Parameters:
        object - The LinkML object to convert.
        ctx - The global converter context.
        Returns:
        The raw object that represents the original LinkML object.
        Throws:
        LinkMLRuntimeException - If the converter cannot convert the given object.