@java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
        return true;
      }
      if (!(obj instanceof com.google.cloud.visionai.v1.PacketType.TypeDescriptor)) {
        return super.equals(obj);
      }
      com.google.cloud.visionai.v1.PacketType.TypeDescriptor other =
          (com.google.cloud.visionai.v1.PacketType.TypeDescriptor) obj;

      if (!getType().equals(other.getType())) return false;
      if (!getTypeDetailsCase().equals(other.getTypeDetailsCase())) return false;
      switch (typeDetailsCase_) {
        case 2:
          if (!getGstreamerBufferDescriptor().equals(other.getGstreamerBufferDescriptor()))
            return false;
          break;
        case 3:
          if (!getRawImageDescriptor().equals(other.getRawImageDescriptor())) return false;
          break;
        case 0:
        default:
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }
<pre>
The type of the packet. Its possible values is codec dependent.

The fully qualified type name is always the concatenation of the
value in `type_class` together with the value in `type`, separated by a
'/'.

Note that specific codecs can define their own type hierarchy, and so the
type string here can in fact be separated by multiple '/'s of its own.

Please see the open source SDK for specific codec documentation.
</pre>

<code>string type = 1;</code>

@return The bytes for type.
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/PacketType.java