Class ObjectIdSerializer

java.lang.Object
org.eclipse.jgit.lib.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 Details

    • 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