Class ObjectIdSerializer


  • public class ObjectIdSerializer
    extends java.lang.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
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ObjectIdSerializer()  
    • Constructor Detail

      • ObjectIdSerializer

        private ObjectIdSerializer()
    • Method Detail

      • write

        public static void write​(java.io.OutputStream out,
                                 @Nullable
                                 AnyObjectId id)
                          throws java.io.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:
        java.io.IOException - the stream writing failed
      • writeWithoutMarker

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

        @Nullable
        public static ObjectId read​(java.io.InputStream in)
                             throws java.io.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:
        java.io.IOException - there was an error reading the stream
      • readWithoutMarker

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