Class ObjectIdSerializer


  • public class ObjectIdSerializer
    extends Object
    Helper to serialize ObjectId instances. ObjectId is already serializable, but this class provides methods to handle null and non-null instances.
    Since:
    4.11
    • Method Detail

      • write

        public static void write​(OutputStream out,
                                 @Nullable
                                 AnyObjectId id)
                          throws IOException
        Write a possibly null ObjectId to the stream, using markers to differentiate null and non-null instances.

        If the id is non-null, writes a NON_NULL_MARKER followed by the id's words. If it is null, writes a NULL_MARKER and nothing else.

        Parameters:
        out - the output stream
        id - the object id to serialize; may be null
        Throws:
        IOException - the stream writing failed
      • writeWithoutMarker

        public static void writeWithoutMarker​(OutputStream out,
                                              @NonNull
                                              AnyObjectId id)
                                       throws IOException
        Write a non-null ObjectId to the stream.
        Parameters:
        out - the output stream
        id - the object id to serialize; never null
        Throws:
        IOException - the stream writing failed
        Since:
        4.11
      • read

        @Nullable
        public static ObjectId read​(InputStream in)
                             throws IOException
        Read a possibly null ObjectId from the stream. Reads the first byte of the stream, which is expected to be either NON_NULL_MARKER or NULL_MARKER.
        Parameters:
        in - the input stream
        Returns:
        the object id, or null
        Throws:
        IOException - there was an error reading the stream
      • readWithoutMarker

        @NonNull
        public static ObjectId readWithoutMarker​(InputStream in)
                                          throws IOException
        Read a non-null ObjectId from the stream.
        Parameters:
        in - the input stream
        Returns:
        the object id; never null
        Throws:
        IOException - there was an error reading the stream
        Since:
        4.11