// Code generated by protocol buffer compiler. Do not edit! package emu.nebula.proto; import java.io.IOException; import us.hebi.quickbuf.FieldName; import us.hebi.quickbuf.InvalidProtocolBufferException; import us.hebi.quickbuf.JsonSink; import us.hebi.quickbuf.JsonSource; import us.hebi.quickbuf.MessageFactory; import us.hebi.quickbuf.ProtoMessage; import us.hebi.quickbuf.ProtoSink; import us.hebi.quickbuf.ProtoSource; import us.hebi.quickbuf.RepeatedByte; import us.hebi.quickbuf.RepeatedMessage; public final class PubilcGm { /** * Protobuf type {@code Chars} */ public static final class Chars extends ProtoMessage implements Cloneable { private static final long serialVersionUID = 0L; /** * optional bytes NextPackage = 2047; */ private final RepeatedByte nextPackage = RepeatedByte.newEmptyInstance(); /** * repeated .Char List = 1; */ private final RepeatedMessage list = RepeatedMessage.newEmptyInstance(Public.Char.getFactory()); private Chars() { } /** * @return a new empty instance of {@code Chars} */ public static Chars newInstance() { return new Chars(); } /** * optional bytes NextPackage = 2047; * @return whether the nextPackage field is set */ public boolean hasNextPackage() { return (bitField0_ & 0x00000001) != 0; } /** * optional bytes NextPackage = 2047; * @return this */ public Chars clearNextPackage() { bitField0_ &= ~0x00000001; nextPackage.clear(); return this; } /** * optional bytes NextPackage = 2047; * * This method returns the internal storage object without modifying any has state. * The returned object should not be modified and be treated as read-only. * * Use {@link #getMutableNextPackage()} if you want to modify it. * * @return internal storage object for reading */ public RepeatedByte getNextPackage() { return nextPackage; } /** * optional bytes NextPackage = 2047; * * This method returns the internal storage object and sets the corresponding * has state. The returned object will become part of this message and its * contents may be modified as long as the has state is not cleared. * * @return internal storage object for modifications */ public RepeatedByte getMutableNextPackage() { bitField0_ |= 0x00000001; return nextPackage; } /** * optional bytes NextPackage = 2047; * @param value the nextPackage to add * @return this */ public Chars addNextPackage(final byte value) { bitField0_ |= 0x00000001; nextPackage.add(value); return this; } /** * optional bytes NextPackage = 2047; * @param values the nextPackage to add * @return this */ public Chars addAllNextPackage(final byte... values) { bitField0_ |= 0x00000001; nextPackage.addAll(values); return this; } /** * optional bytes NextPackage = 2047; * @param values the nextPackage to set * @return this */ public Chars setNextPackage(final byte... values) { bitField0_ |= 0x00000001; nextPackage.copyFrom(values); return this; } /** * repeated .Char List = 1; * @return whether the list field is set */ public boolean hasList() { return (bitField0_ & 0x00000002) != 0; } /** * repeated .Char List = 1; * @return this */ public Chars clearList() { bitField0_ &= ~0x00000002; list.clear(); return this; } /** * repeated .Char List = 1; * * This method returns the internal storage object without modifying any has state. * The returned object should not be modified and be treated as read-only. * * Use {@link #getMutableList()} if you want to modify it. * * @return internal storage object for reading */ public RepeatedMessage getList() { return list; } /** * repeated .Char List = 1; * * This method returns the internal storage object and sets the corresponding * has state. The returned object will become part of this message and its * contents may be modified as long as the has state is not cleared. * * @return internal storage object for modifications */ public RepeatedMessage getMutableList() { bitField0_ |= 0x00000002; return list; } /** * repeated .Char List = 1; * @param value the list to add * @return this */ public Chars addList(final Public.Char value) { bitField0_ |= 0x00000002; list.add(value); return this; } /** * repeated .Char List = 1; * @param values the list to add * @return this */ public Chars addAllList(final Public.Char... values) { bitField0_ |= 0x00000002; list.addAll(values); return this; } @Override public Chars copyFrom(final Chars other) { cachedSize = other.cachedSize; if ((bitField0_ | other.bitField0_) != 0) { bitField0_ = other.bitField0_; nextPackage.copyFrom(other.nextPackage); list.copyFrom(other.list); } return this; } @Override public Chars mergeFrom(final Chars other) { if (other.isEmpty()) { return this; } cachedSize = -1; if (other.hasNextPackage()) { getMutableNextPackage().copyFrom(other.nextPackage); } if (other.hasList()) { getMutableList().addAll(other.list); } return this; } @Override public Chars clear() { if (isEmpty()) { return this; } cachedSize = -1; bitField0_ = 0; nextPackage.clear(); list.clear(); return this; } @Override public Chars clearQuick() { if (isEmpty()) { return this; } cachedSize = -1; bitField0_ = 0; nextPackage.clear(); list.clearQuick(); return this; } @Override public boolean equals(Object o) { if (o == this) { return true; } if (!(o instanceof Chars)) { return false; } Chars other = (Chars) o; return bitField0_ == other.bitField0_ && (!hasNextPackage() || nextPackage.equals(other.nextPackage)) && (!hasList() || list.equals(other.list)); } @Override public void writeTo(final ProtoSink output) throws IOException { if ((bitField0_ & 0x00000001) != 0) { output.writeRawLittleEndian16((short) 32762); output.writeBytesNoTag(nextPackage); } if ((bitField0_ & 0x00000002) != 0) { for (int i = 0; i < list.length(); i++) { output.writeRawByte((byte) 10); output.writeMessageNoTag(list.get(i)); } } } @Override protected int computeSerializedSize() { int size = 0; if ((bitField0_ & 0x00000001) != 0) { size += 2 + ProtoSink.computeBytesSizeNoTag(nextPackage); } if ((bitField0_ & 0x00000002) != 0) { size += (1 * list.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(list); } return size; } @Override @SuppressWarnings("fallthrough") public Chars mergeFrom(final ProtoSource input) throws IOException { // Enabled Fall-Through Optimization (QuickBuffers) int tag = input.readTag(); while (true) { switch (tag) { case 16378: { // nextPackage input.readBytes(nextPackage); bitField0_ |= 0x00000001; tag = input.readTag(); if (tag != 10) { break; } } case 10: { // list tag = input.readRepeatedMessage(list, tag); bitField0_ |= 0x00000002; if (tag != 0) { break; } } case 0: { return this; } default: { if (!input.skipField(tag)) { return this; } tag = input.readTag(); break; } } } } @Override public void writeTo(final JsonSink output) throws IOException { output.beginObject(); if ((bitField0_ & 0x00000001) != 0) { output.writeBytes(FieldNames.nextPackage, nextPackage); } if ((bitField0_ & 0x00000002) != 0) { output.writeRepeatedMessage(FieldNames.list, list); } output.endObject(); } @Override public Chars mergeFrom(final JsonSource input) throws IOException { if (!input.beginObject()) { return this; } while (!input.isAtEnd()) { switch (input.readFieldHash()) { case -2082324045: { if (input.isAtField(FieldNames.nextPackage)) { if (!input.trySkipNullValue()) { input.readBytes(nextPackage); bitField0_ |= 0x00000001; } } else { input.skipUnknownField(); } break; } case 2368702: { if (input.isAtField(FieldNames.list)) { if (!input.trySkipNullValue()) { input.readRepeatedMessage(list); bitField0_ |= 0x00000002; } } else { input.skipUnknownField(); } break; } default: { input.skipUnknownField(); break; } } } input.endObject(); return this; } @Override public Chars clone() { return new Chars().copyFrom(this); } @Override public boolean isEmpty() { return ((bitField0_) == 0); } public static Chars parseFrom(final byte[] data) throws InvalidProtocolBufferException { return ProtoMessage.mergeFrom(new Chars(), data).checkInitialized(); } public static Chars parseFrom(final ProtoSource input) throws IOException { return ProtoMessage.mergeFrom(new Chars(), input).checkInitialized(); } public static Chars parseFrom(final JsonSource input) throws IOException { return ProtoMessage.mergeFrom(new Chars(), input).checkInitialized(); } /** * @return factory for creating Chars messages */ public static MessageFactory getFactory() { return CharsFactory.INSTANCE; } private enum CharsFactory implements MessageFactory { INSTANCE; @Override public Chars create() { return Chars.newInstance(); } } /** * Contains name constants used for serializing JSON */ static class FieldNames { static final FieldName nextPackage = FieldName.forField("NextPackage"); static final FieldName list = FieldName.forField("List"); } } }