diff --git a/.mvn/local-settings.xml b/.mvn/local-settings.xml new file mode 100644 index 0000000000..b086635c4e --- /dev/null +++ b/.mvn/local-settings.xml @@ -0,0 +1,12 @@ + + + + my-repository-http-unblocker + allanbank + + http://www.allanbank.com/repo/ + + + diff --git a/.mvn/maven.config b/.mvn/maven.config new file mode 100644 index 0000000000..d4c13b31ad --- /dev/null +++ b/.mvn/maven.config @@ -0,0 +1 @@ +--settings=./.mvn/local-settings.xml diff --git a/bin/ycsb b/bin/ycsb index 0e0eb8f58c..0b3c099c03 100755 --- a/bin/ycsb +++ b/bin/ycsb @@ -103,7 +103,9 @@ DATABASES = { "solr7" : "site.ycsb.db.solr7.SolrClient", "tarantool" : "site.ycsb.db.TarantoolClient", "tablestore" : "site.ycsb.db.tablestore.TableStoreClient", - "zookeeper" : "site.ycsb.db.zookeeper.ZKClient" + "zookeeper" : "site.ycsb.db.zookeeper.ZKClient", + "mongodb-modubft" : "site.ycsb.db.MongoDbModubftClient", + "redis-modubft" : "site.ycsb.db.RedisModubftClient" } OPTIONS = { @@ -216,7 +218,7 @@ def get_classpath_from_maven(module): "-am", "package", "-DskipTests", "dependency:build-classpath", "-DincludeScope=compile", - "-Dmdep.outputFilterFile=true"]) + "-Dmdep.outputFilterFile=true", "-Dcheckstyle.skip"]) # the above outputs a "classpath=/path/tojar:/path/to/other/jar" for each module # the last module will be the datastore binding line = [x for x in mvn_output.splitlines() if x.startswith("classpath=")][-1:] diff --git a/copy_jars.sh b/copy_jars.sh new file mode 100755 index 0000000000..5b42886257 --- /dev/null +++ b/copy_jars.sh @@ -0,0 +1,30 @@ +#!/bin/bash +db=$1 + +if [ -z $1 ]; then + echo "db - redis or mongodb not provided" + exit 1 +fi + +DEST_DIR="./jars/" +mkdir -p "$DEST_DIR" + +if [ $1 = "redis"]; then + CLASSPATH="/home/snayyer/repos/non-work/studium/thesis/YCSB/redis/conf:/home/snayyer/repos/non-work/studium/thesis/YCSB/redis/target/redis-binding-0.18.0-SNAPSHOT.jar:/home/snayyer/.m2/repository/org/apache/htrace/htrace-core4/4.1.0-incubating/htrace-core4-4.1.0-incubating.jar:/home/snayyer/.m2/repository/com/google/protobuf/protobuf-java/3.19.6/protobuf-java-3.19.6.jar:/home/snayyer/.m2/repository/org/hdrhistogram/HdrHistogram/2.1.4/HdrHistogram-2.1.4.jar:/home/snayyer/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.4/jackson-mapper-asl-1.9.4.jar:/home/snayyer/.m2/repository/redis/clients/jedis/2.9.0/jedis-2.9.0.jar:/home/snayyer/.m2/repository/org/apache/commons/commons-pool2/2.4.2/commons-pool2-2.4.2.jar:/home/snayyer/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.9.4/jackson-core-asl-1.9.4.jar:/home/snayyer/repos/non-work/studium/thesis/YCSB/core/target/core-0.18.0-SNAPSHOT.jar" +elif [ $1 = "mongodb" ]; then + CLASSPATH="/home/snayyer/repos/non-work/studium/thesis/YCSB/mongodb/conf:/home/snayyer/repos/non-work/studium/thesis/YCSB/mongodb/target/mongodb-binding-0.18.0-SNAPSHOT.jar:/home/snayyer/.m2/repository/org/apache/htrace/htrace-core4/4.1.0-incubating/htrace-core4-4.1.0-incubating.jar:/home/snayyer/.m2/repository/com/google/protobuf/protobuf-java/3.19.6/protobuf-java-3.19.6.jar:/home/snayyer/.m2/repository/org/xerial/snappy/snappy-java/1.1.7.1/snappy-java-1.1.7.1.jar:/home/snayyer/.m2/repository/org/hdrhistogram/HdrHistogram/2.1.4/HdrHistogram-2.1.4.jar:/home/snayyer/.m2/repository/org/mongodb/mongo-java-driver/3.11.0/mongo-java-driver-3.11.0.jar:/home/snayyer/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.4/jackson-mapper-asl-1.9.4.jar:/home/snayyer/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.9.4/jackson-core-asl-1.9.4.jar:/home/snayyer/repos/non-work/studium/thesis/YCSB/core/target/core-0.18.0-SNAPSHOT.jar:/home/snayyer/.m2/repository/com/allanbank/mongodb-async-driver/2.0.1/mongodb-async-driver-2.0.1.jar" +else + echo "Unknown db - neither redis nor mongodb" + exit 1 +fi + +IFS=':' read -ra JARS <<< "$CLASSPATH" +for JAR in "${JARS[@]}"; do + if [ -e "$JAR" ]; then + cp "$JAR" "$DEST_DIR" + else + echo "Skipping $JAR as it does not exist." + fi +done + +scp ./jars/* snayyer@zs01:/home/snayyer/YCSB/jars \ No newline at end of file diff --git a/core/src/main/java/site/ycsb/Client.java b/core/src/main/java/site/ycsb/Client.java index bd96821170..c9f9037113 100644 --- a/core/src/main/java/site/ycsb/Client.java +++ b/core/src/main/java/site/ycsb/Client.java @@ -75,7 +75,7 @@ public static StringBuilder format(long seconds) { */ public final class Client { private Client() { - //not used + // not used } public static final String DEFAULT_RECORD_COUNT = "0"; @@ -119,8 +119,10 @@ private Client() { /** * Indicates how many inserts to do if less than recordcount. - * Useful for partitioning the load among multiple servers if the client is the bottleneck. - * Additionally workloads should support the "insertstart" property which tells them which record to start at. + * Useful for partitioning the load among multiple servers if the client is the + * bottleneck. + * Additionally workloads should support the "insertstart" property which tells + * them which record to start at. */ public static final String INSERT_COUNT_PROPERTY = "insertcount"; @@ -204,12 +206,12 @@ public static boolean checkRequiredProperties(Properties props) { return true; } - /** * Exports the measurements to either sysout or a file using the exporter * loaded from conf. * - * @throws IOException Either failed to write to output stream or failed to close it. + * @throws IOException Either failed to write to output stream or failed to + * close it. */ private static void exportMeasurements(Properties props, int opcount, long runtime) throws IOException { @@ -282,12 +284,12 @@ public static void main(String[] args) { long maxExecutionTime = Integer.parseInt(props.getProperty(MAX_EXECUTION_TIME, "0")); - //get number of threads, target and db + // get number of threads, target and db int threadcount = Integer.parseInt(props.getProperty(THREAD_COUNT_PROPERTY, "1")); String dbname = props.getProperty(DB_PROPERTY, "site.ycsb.BasicDB"); int target = Integer.parseInt(props.getProperty(TARGET_PROPERTY, "0")); - //compute the target throughput + // compute the target throughput double targetperthreadperms = -1; if (target > 0) { double targetperthread = ((double) target) / ((double) threadcount); @@ -371,7 +373,8 @@ public static void main(String[] args) { if (status) { // wake up status thread if it's asleep statusthread.interrupt(); - // at this point we assume all the monitored threads are already gone as per above join loop. + // at this point we assume all the monitored threads are already gone as per + // above join loop. try { statusthread.join(); } catch (InterruptedException ignored) { @@ -401,8 +404,8 @@ public static void main(String[] args) { } private static List initDb(String dbname, Properties props, int threadcount, - double targetperthreadperms, Workload workload, Tracer tracer, - CountDownLatch completeLatch) { + double targetperthreadperms, Workload workload, Tracer tracer, + CountDownLatch completeLatch) { boolean initFailed = false; boolean dotransactions = Boolean.valueOf(props.getProperty(DO_TRANSACTIONS_PROPERTY, String.valueOf(true))); @@ -418,7 +421,7 @@ private static List initDb(String dbname, Properties props, int th opcount = Integer.parseInt(props.getProperty(RECORD_COUNT_PROPERTY, DEFAULT_RECORD_COUNT)); } } - if (threadcount > opcount && opcount > 0){ + if (threadcount > opcount && opcount > 0) { threadcount = opcount; System.out.println("Warning: the threadcount is bigger than recordcount, the threadcount will be recordcount!"); } @@ -426,6 +429,9 @@ private static List initDb(String dbname, Properties props, int th DB db; try { db = DBFactory.newDB(dbname, props, tracer); + Properties newProps = (Properties) props.clone(); + newProps.setProperty("threadId", Integer.toString(threadid)); + db.setProperties(newProps); } catch (UnknownDBException e) { System.out.println("Unknown DB " + dbname); initFailed = true; @@ -434,7 +440,8 @@ private static List initDb(String dbname, Properties props, int th int threadopcount = opcount / threadcount; - // ensure correct number of operations, in case opcount is not a multiple of threadcount + // ensure correct number of operations, in case opcount is not a multiple of + // threadcount if (threadid < opcount % threadcount) { ++threadopcount; } @@ -484,9 +491,10 @@ private static HTraceConfiguration getHTraceConfiguration(Properties props) { } private static Thread setupWarningThread() { - //show a warning message that creating the workload is taking a while - //but only do so if it is taking longer than 2 seconds - //(showing the message right away if the setup wasn't taking very long was confusing people) + // show a warning message that creating the workload is taking a while + // but only do so if it is taking longer than 2 seconds + // (showing the message right away if the setup wasn't taking very long was + // confusing people) return new Thread() { @Override public void run() { @@ -610,7 +618,8 @@ private static Properties parseArguments(String[] args) { System.exit(0); } - //Issue #5 - remove call to stringPropertyNames to make compilable under Java 1.5 + // Issue #5 - remove call to stringPropertyNames to make compilable under Java + // 1.5 for (Enumeration e = myfileprops.propertyNames(); e.hasMoreElements();) { String prop = (String) e.nextElement(); @@ -658,9 +667,10 @@ private static Properties parseArguments(String[] args) { System.exit(0); } - //overwrite file properties with properties from the command line + // overwrite file properties with properties from the command line - //Issue #5 - remove call to stringPropertyNames to make compilable under Java 1.5 + // Issue #5 - remove call to stringPropertyNames to make compilable under Java + // 1.5 for (Enumeration e = props.propertyNames(); e.hasMoreElements();) { String prop = (String) e.nextElement(); diff --git a/mongodb/pom.xml b/mongodb/pom.xml index 65bf0660a1..2363c6b08c 100644 --- a/mongodb/pom.xml +++ b/mongodb/pom.xml @@ -67,6 +67,12 @@ LICENSE file. jar compile + + + com.google.protobuf + protobuf-java + 3.19.6 + diff --git a/mongodb/src/main/java/mongo/Mongo.java b/mongodb/src/main/java/mongo/Mongo.java new file mode 100644 index 0000000000..eed62e6e4c --- /dev/null +++ b/mongodb/src/main/java/mongo/Mongo.java @@ -0,0 +1,13499 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mongo.proto + +package mongo; + +public final class Mongo { + private Mongo() { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + + public interface MongoRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.MongoRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * .mongo.MongoRequest.RequestType type = 1; + * + * @return The enum numeric value on the wire for type. + */ + int getTypeValue(); + + /** + * .mongo.MongoRequest.RequestType type = 1; + * + * @return The type. + */ + mongo.Mongo.MongoRequest.RequestType getType(); + + /** + * .mongo.CleanupRequest cleanup = 2; + * + * @return Whether the cleanup field is set. + */ + boolean hasCleanup(); + + /** + * .mongo.CleanupRequest cleanup = 2; + * + * @return The cleanup. + */ + mongo.Mongo.CleanupRequest getCleanup(); + + /** + * .mongo.CleanupRequest cleanup = 2; + */ + mongo.Mongo.CleanupRequestOrBuilder getCleanupOrBuilder(); + + /** + * .mongo.DeleteRequest delete = 3; + * + * @return Whether the delete field is set. + */ + boolean hasDelete(); + + /** + * .mongo.DeleteRequest delete = 3; + * + * @return The delete. + */ + mongo.Mongo.DeleteRequest getDelete(); + + /** + * .mongo.DeleteRequest delete = 3; + */ + mongo.Mongo.DeleteRequestOrBuilder getDeleteOrBuilder(); + + /** + * .mongo.InsertRequest insert = 4; + * + * @return Whether the insert field is set. + */ + boolean hasInsert(); + + /** + * .mongo.InsertRequest insert = 4; + * + * @return The insert. + */ + mongo.Mongo.InsertRequest getInsert(); + + /** + * .mongo.InsertRequest insert = 4; + */ + mongo.Mongo.InsertRequestOrBuilder getInsertOrBuilder(); + + /** + * .mongo.ReadRequest read = 5; + * + * @return Whether the read field is set. + */ + boolean hasRead(); + + /** + * .mongo.ReadRequest read = 5; + * + * @return The read. + */ + mongo.Mongo.ReadRequest getRead(); + + /** + * .mongo.ReadRequest read = 5; + */ + mongo.Mongo.ReadRequestOrBuilder getReadOrBuilder(); + + /** + * .mongo.ScanRequest scan = 6; + * + * @return Whether the scan field is set. + */ + boolean hasScan(); + + /** + * .mongo.ScanRequest scan = 6; + * + * @return The scan. + */ + mongo.Mongo.ScanRequest getScan(); + + /** + * .mongo.ScanRequest scan = 6; + */ + mongo.Mongo.ScanRequestOrBuilder getScanOrBuilder(); + + /** + * .mongo.UpdateRequest update = 7; + * + * @return Whether the update field is set. + */ + boolean hasUpdate(); + + /** + * .mongo.UpdateRequest update = 7; + * + * @return The update. + */ + mongo.Mongo.UpdateRequest getUpdate(); + + /** + * .mongo.UpdateRequest update = 7; + */ + mongo.Mongo.UpdateRequestOrBuilder getUpdateOrBuilder(); + + public mongo.Mongo.MongoRequest.RequestCase getRequestCase(); + } + + /** + * Protobuf type {@code mongo.MongoRequest} + */ + public static final class MongoRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.MongoRequest) + MongoRequestOrBuilder { + private static final long serialVersionUID = 0L; + + // Use MongoRequest.newBuilder() to construct. + private MongoRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private MongoRequest() { + type_ = 0; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new MongoRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_MongoRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_MongoRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.MongoRequest.class, mongo.Mongo.MongoRequest.Builder.class); + } + + /** + * Protobuf enum {@code mongo.MongoRequest.RequestType} + */ + public enum RequestType + implements com.google.protobuf.ProtocolMessageEnum { + /** + * CLEANUP = 0; + */ + CLEANUP(0), + /** + * DELETE = 1; + */ + DELETE(1), + /** + * INSERT = 2; + */ + INSERT(2), + /** + * READ = 3; + */ + READ(3), + /** + * SCAN = 4; + */ + SCAN(4), + /** + * UPDATE = 5; + */ + UPDATE(5), + UNRECOGNIZED(-1), + ; + + /** + * CLEANUP = 0; + */ + public static final int CLEANUP_VALUE = 0; + /** + * DELETE = 1; + */ + public static final int DELETE_VALUE = 1; + /** + * INSERT = 2; + */ + public static final int INSERT_VALUE = 2; + /** + * READ = 3; + */ + public static final int READ_VALUE = 3; + /** + * SCAN = 4; + */ + public static final int SCAN_VALUE = 4; + /** + * UPDATE = 5; + */ + public static final int UPDATE_VALUE = 5; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static RequestType valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static RequestType forNumber(int value) { + switch (value) { + case 0: + return CLEANUP; + case 1: + return DELETE; + case 2: + return INSERT; + case 3: + return READ; + case 4: + return SCAN; + case 5: + return UPDATE; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { + public RequestType findValueByNumber(int number) { + return RequestType.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return mongo.Mongo.MongoRequest.getDescriptor().getEnumTypes().get(0); + } + + private static final RequestType[] VALUES = values(); + + public static RequestType valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private RequestType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:mongo.MongoRequest.RequestType) + } + + private int requestCase_ = 0; + private java.lang.Object request_; + + public enum RequestCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + CLEANUP(2), + DELETE(3), + INSERT(4), + READ(5), + SCAN(6), + UPDATE(7), + REQUEST_NOT_SET(0); + + private final int value; + + private RequestCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static RequestCase valueOf(int value) { + return forNumber(value); + } + + public static RequestCase forNumber(int value) { + switch (value) { + case 2: + return CLEANUP; + case 3: + return DELETE; + case 4: + return INSERT; + case 5: + return READ; + case 6: + return SCAN; + case 7: + return UPDATE; + case 0: + return REQUEST_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public RequestCase getRequestCase() { + return RequestCase.forNumber( + requestCase_); + } + + public static final int TYPE_FIELD_NUMBER = 1; + private int type_; + + /** + * .mongo.MongoRequest.RequestType type = 1; + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * .mongo.MongoRequest.RequestType type = 1; + * + * @return The type. + */ + @java.lang.Override + public mongo.Mongo.MongoRequest.RequestType getType() { + @SuppressWarnings("deprecation") + mongo.Mongo.MongoRequest.RequestType result = mongo.Mongo.MongoRequest.RequestType.valueOf(type_); + return result == null ? mongo.Mongo.MongoRequest.RequestType.UNRECOGNIZED : result; + } + + public static final int CLEANUP_FIELD_NUMBER = 2; + + /** + * .mongo.CleanupRequest cleanup = 2; + * + * @return Whether the cleanup field is set. + */ + @java.lang.Override + public boolean hasCleanup() { + return requestCase_ == 2; + } + + /** + * .mongo.CleanupRequest cleanup = 2; + * + * @return The cleanup. + */ + @java.lang.Override + public mongo.Mongo.CleanupRequest getCleanup() { + if (requestCase_ == 2) { + return (mongo.Mongo.CleanupRequest) request_; + } + return mongo.Mongo.CleanupRequest.getDefaultInstance(); + } + + /** + * .mongo.CleanupRequest cleanup = 2; + */ + @java.lang.Override + public mongo.Mongo.CleanupRequestOrBuilder getCleanupOrBuilder() { + if (requestCase_ == 2) { + return (mongo.Mongo.CleanupRequest) request_; + } + return mongo.Mongo.CleanupRequest.getDefaultInstance(); + } + + public static final int DELETE_FIELD_NUMBER = 3; + + /** + * .mongo.DeleteRequest delete = 3; + * + * @return Whether the delete field is set. + */ + @java.lang.Override + public boolean hasDelete() { + return requestCase_ == 3; + } + + /** + * .mongo.DeleteRequest delete = 3; + * + * @return The delete. + */ + @java.lang.Override + public mongo.Mongo.DeleteRequest getDelete() { + if (requestCase_ == 3) { + return (mongo.Mongo.DeleteRequest) request_; + } + return mongo.Mongo.DeleteRequest.getDefaultInstance(); + } + + /** + * .mongo.DeleteRequest delete = 3; + */ + @java.lang.Override + public mongo.Mongo.DeleteRequestOrBuilder getDeleteOrBuilder() { + if (requestCase_ == 3) { + return (mongo.Mongo.DeleteRequest) request_; + } + return mongo.Mongo.DeleteRequest.getDefaultInstance(); + } + + public static final int INSERT_FIELD_NUMBER = 4; + + /** + * .mongo.InsertRequest insert = 4; + * + * @return Whether the insert field is set. + */ + @java.lang.Override + public boolean hasInsert() { + return requestCase_ == 4; + } + + /** + * .mongo.InsertRequest insert = 4; + * + * @return The insert. + */ + @java.lang.Override + public mongo.Mongo.InsertRequest getInsert() { + if (requestCase_ == 4) { + return (mongo.Mongo.InsertRequest) request_; + } + return mongo.Mongo.InsertRequest.getDefaultInstance(); + } + + /** + * .mongo.InsertRequest insert = 4; + */ + @java.lang.Override + public mongo.Mongo.InsertRequestOrBuilder getInsertOrBuilder() { + if (requestCase_ == 4) { + return (mongo.Mongo.InsertRequest) request_; + } + return mongo.Mongo.InsertRequest.getDefaultInstance(); + } + + public static final int READ_FIELD_NUMBER = 5; + + /** + * .mongo.ReadRequest read = 5; + * + * @return Whether the read field is set. + */ + @java.lang.Override + public boolean hasRead() { + return requestCase_ == 5; + } + + /** + * .mongo.ReadRequest read = 5; + * + * @return The read. + */ + @java.lang.Override + public mongo.Mongo.ReadRequest getRead() { + if (requestCase_ == 5) { + return (mongo.Mongo.ReadRequest) request_; + } + return mongo.Mongo.ReadRequest.getDefaultInstance(); + } + + /** + * .mongo.ReadRequest read = 5; + */ + @java.lang.Override + public mongo.Mongo.ReadRequestOrBuilder getReadOrBuilder() { + if (requestCase_ == 5) { + return (mongo.Mongo.ReadRequest) request_; + } + return mongo.Mongo.ReadRequest.getDefaultInstance(); + } + + public static final int SCAN_FIELD_NUMBER = 6; + + /** + * .mongo.ScanRequest scan = 6; + * + * @return Whether the scan field is set. + */ + @java.lang.Override + public boolean hasScan() { + return requestCase_ == 6; + } + + /** + * .mongo.ScanRequest scan = 6; + * + * @return The scan. + */ + @java.lang.Override + public mongo.Mongo.ScanRequest getScan() { + if (requestCase_ == 6) { + return (mongo.Mongo.ScanRequest) request_; + } + return mongo.Mongo.ScanRequest.getDefaultInstance(); + } + + /** + * .mongo.ScanRequest scan = 6; + */ + @java.lang.Override + public mongo.Mongo.ScanRequestOrBuilder getScanOrBuilder() { + if (requestCase_ == 6) { + return (mongo.Mongo.ScanRequest) request_; + } + return mongo.Mongo.ScanRequest.getDefaultInstance(); + } + + public static final int UPDATE_FIELD_NUMBER = 7; + + /** + * .mongo.UpdateRequest update = 7; + * + * @return Whether the update field is set. + */ + @java.lang.Override + public boolean hasUpdate() { + return requestCase_ == 7; + } + + /** + * .mongo.UpdateRequest update = 7; + * + * @return The update. + */ + @java.lang.Override + public mongo.Mongo.UpdateRequest getUpdate() { + if (requestCase_ == 7) { + return (mongo.Mongo.UpdateRequest) request_; + } + return mongo.Mongo.UpdateRequest.getDefaultInstance(); + } + + /** + * .mongo.UpdateRequest update = 7; + */ + @java.lang.Override + public mongo.Mongo.UpdateRequestOrBuilder getUpdateOrBuilder() { + if (requestCase_ == 7) { + return (mongo.Mongo.UpdateRequest) request_; + } + return mongo.Mongo.UpdateRequest.getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (type_ != mongo.Mongo.MongoRequest.RequestType.CLEANUP.getNumber()) { + output.writeEnum(1, type_); + } + if (requestCase_ == 2) { + output.writeMessage(2, (mongo.Mongo.CleanupRequest) request_); + } + if (requestCase_ == 3) { + output.writeMessage(3, (mongo.Mongo.DeleteRequest) request_); + } + if (requestCase_ == 4) { + output.writeMessage(4, (mongo.Mongo.InsertRequest) request_); + } + if (requestCase_ == 5) { + output.writeMessage(5, (mongo.Mongo.ReadRequest) request_); + } + if (requestCase_ == 6) { + output.writeMessage(6, (mongo.Mongo.ScanRequest) request_); + } + if (requestCase_ == 7) { + output.writeMessage(7, (mongo.Mongo.UpdateRequest) request_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + if (type_ != mongo.Mongo.MongoRequest.RequestType.CLEANUP.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, type_); + } + if (requestCase_ == 2) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, (mongo.Mongo.CleanupRequest) request_); + } + if (requestCase_ == 3) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, (mongo.Mongo.DeleteRequest) request_); + } + if (requestCase_ == 4) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, (mongo.Mongo.InsertRequest) request_); + } + if (requestCase_ == 5) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, (mongo.Mongo.ReadRequest) request_); + } + if (requestCase_ == 6) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, (mongo.Mongo.ScanRequest) request_); + } + if (requestCase_ == 7) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, (mongo.Mongo.UpdateRequest) request_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.MongoRequest)) { + return super.equals(obj); + } + mongo.Mongo.MongoRequest other = (mongo.Mongo.MongoRequest) obj; + + if (type_ != other.type_) + return false; + if (!getRequestCase().equals(other.getRequestCase())) + return false; + switch (requestCase_) { + case 2: + if (!getCleanup() + .equals(other.getCleanup())) + return false; + break; + case 3: + if (!getDelete() + .equals(other.getDelete())) + return false; + break; + case 4: + if (!getInsert() + .equals(other.getInsert())) + return false; + break; + case 5: + if (!getRead() + .equals(other.getRead())) + return false; + break; + case 6: + if (!getScan() + .equals(other.getScan())) + return false; + break; + case 7: + if (!getUpdate() + .equals(other.getUpdate())) + return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + type_; + switch (requestCase_) { + case 2: + hash = (37 * hash) + CLEANUP_FIELD_NUMBER; + hash = (53 * hash) + getCleanup().hashCode(); + break; + case 3: + hash = (37 * hash) + DELETE_FIELD_NUMBER; + hash = (53 * hash) + getDelete().hashCode(); + break; + case 4: + hash = (37 * hash) + INSERT_FIELD_NUMBER; + hash = (53 * hash) + getInsert().hashCode(); + break; + case 5: + hash = (37 * hash) + READ_FIELD_NUMBER; + hash = (53 * hash) + getRead().hashCode(); + break; + case 6: + hash = (37 * hash) + SCAN_FIELD_NUMBER; + hash = (53 * hash) + getScan().hashCode(); + break; + case 7: + hash = (37 * hash) + UPDATE_FIELD_NUMBER; + hash = (53 * hash) + getUpdate().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.MongoRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.MongoRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.MongoRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.MongoRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.MongoRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.MongoRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.MongoRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.MongoRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.MongoRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.MongoRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.MongoRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.MongoRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.MongoRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.MongoRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.MongoRequest) + mongo.Mongo.MongoRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_MongoRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_MongoRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.MongoRequest.class, mongo.Mongo.MongoRequest.Builder.class); + } + + // Construct using mongo.Mongo.MongoRequest.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + type_ = 0; + + if (cleanupBuilder_ != null) { + cleanupBuilder_.clear(); + } + if (deleteBuilder_ != null) { + deleteBuilder_.clear(); + } + if (insertBuilder_ != null) { + insertBuilder_.clear(); + } + if (readBuilder_ != null) { + readBuilder_.clear(); + } + if (scanBuilder_ != null) { + scanBuilder_.clear(); + } + if (updateBuilder_ != null) { + updateBuilder_.clear(); + } + requestCase_ = 0; + request_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_MongoRequest_descriptor; + } + + @java.lang.Override + public mongo.Mongo.MongoRequest getDefaultInstanceForType() { + return mongo.Mongo.MongoRequest.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.MongoRequest build() { + mongo.Mongo.MongoRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.MongoRequest buildPartial() { + mongo.Mongo.MongoRequest result = new mongo.Mongo.MongoRequest(this); + result.type_ = type_; + if (requestCase_ == 2) { + if (cleanupBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = cleanupBuilder_.build(); + } + } + if (requestCase_ == 3) { + if (deleteBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = deleteBuilder_.build(); + } + } + if (requestCase_ == 4) { + if (insertBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = insertBuilder_.build(); + } + } + if (requestCase_ == 5) { + if (readBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = readBuilder_.build(); + } + } + if (requestCase_ == 6) { + if (scanBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = scanBuilder_.build(); + } + } + if (requestCase_ == 7) { + if (updateBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = updateBuilder_.build(); + } + } + result.requestCase_ = requestCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.MongoRequest) { + return mergeFrom((mongo.Mongo.MongoRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.MongoRequest other) { + if (other == mongo.Mongo.MongoRequest.getDefaultInstance()) + return this; + if (other.type_ != 0) { + setTypeValue(other.getTypeValue()); + } + switch (other.getRequestCase()) { + case CLEANUP: { + mergeCleanup(other.getCleanup()); + break; + } + case DELETE: { + mergeDelete(other.getDelete()); + break; + } + case INSERT: { + mergeInsert(other.getInsert()); + break; + } + case READ: { + mergeRead(other.getRead()); + break; + } + case SCAN: { + mergeScan(other.getScan()); + break; + } + case UPDATE: { + mergeUpdate(other.getUpdate()); + break; + } + case REQUEST_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + type_ = input.readEnum(); + + break; + } // case 8 + case 18: { + input.readMessage( + getCleanupFieldBuilder().getBuilder(), + extensionRegistry); + requestCase_ = 2; + break; + } // case 18 + case 26: { + input.readMessage( + getDeleteFieldBuilder().getBuilder(), + extensionRegistry); + requestCase_ = 3; + break; + } // case 26 + case 34: { + input.readMessage( + getInsertFieldBuilder().getBuilder(), + extensionRegistry); + requestCase_ = 4; + break; + } // case 34 + case 42: { + input.readMessage( + getReadFieldBuilder().getBuilder(), + extensionRegistry); + requestCase_ = 5; + break; + } // case 42 + case 50: { + input.readMessage( + getScanFieldBuilder().getBuilder(), + extensionRegistry); + requestCase_ = 6; + break; + } // case 50 + case 58: { + input.readMessage( + getUpdateFieldBuilder().getBuilder(), + extensionRegistry); + requestCase_ = 7; + break; + } // case 58 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int requestCase_ = 0; + private java.lang.Object request_; + + public RequestCase getRequestCase() { + return RequestCase.forNumber( + requestCase_); + } + + public Builder clearRequest() { + requestCase_ = 0; + request_ = null; + onChanged(); + return this; + } + + private int type_ = 0; + + /** + * .mongo.MongoRequest.RequestType type = 1; + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * .mongo.MongoRequest.RequestType type = 1; + * + * @param value The enum numeric value on the wire for type to set. + * @return This builder for chaining. + */ + public Builder setTypeValue(int value) { + + type_ = value; + onChanged(); + return this; + } + + /** + * .mongo.MongoRequest.RequestType type = 1; + * + * @return The type. + */ + @java.lang.Override + public mongo.Mongo.MongoRequest.RequestType getType() { + @SuppressWarnings("deprecation") + mongo.Mongo.MongoRequest.RequestType result = mongo.Mongo.MongoRequest.RequestType.valueOf(type_); + return result == null ? mongo.Mongo.MongoRequest.RequestType.UNRECOGNIZED : result; + } + + /** + * .mongo.MongoRequest.RequestType type = 1; + * + * @param value The type to set. + * @return This builder for chaining. + */ + public Builder setType(mongo.Mongo.MongoRequest.RequestType value) { + if (value == null) { + throw new NullPointerException(); + } + + type_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * .mongo.MongoRequest.RequestType type = 1; + * + * @return This builder for chaining. + */ + public Builder clearType() { + + type_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilderV3 cleanupBuilder_; + + /** + * .mongo.CleanupRequest cleanup = 2; + * + * @return Whether the cleanup field is set. + */ + @java.lang.Override + public boolean hasCleanup() { + return requestCase_ == 2; + } + + /** + * .mongo.CleanupRequest cleanup = 2; + * + * @return The cleanup. + */ + @java.lang.Override + public mongo.Mongo.CleanupRequest getCleanup() { + if (cleanupBuilder_ == null) { + if (requestCase_ == 2) { + return (mongo.Mongo.CleanupRequest) request_; + } + return mongo.Mongo.CleanupRequest.getDefaultInstance(); + } else { + if (requestCase_ == 2) { + return cleanupBuilder_.getMessage(); + } + return mongo.Mongo.CleanupRequest.getDefaultInstance(); + } + } + + /** + * .mongo.CleanupRequest cleanup = 2; + */ + public Builder setCleanup(mongo.Mongo.CleanupRequest value) { + if (cleanupBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + cleanupBuilder_.setMessage(value); + } + requestCase_ = 2; + return this; + } + + /** + * .mongo.CleanupRequest cleanup = 2; + */ + public Builder setCleanup( + mongo.Mongo.CleanupRequest.Builder builderForValue) { + if (cleanupBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + cleanupBuilder_.setMessage(builderForValue.build()); + } + requestCase_ = 2; + return this; + } + + /** + * .mongo.CleanupRequest cleanup = 2; + */ + public Builder mergeCleanup(mongo.Mongo.CleanupRequest value) { + if (cleanupBuilder_ == null) { + if (requestCase_ == 2 && + request_ != mongo.Mongo.CleanupRequest.getDefaultInstance()) { + request_ = mongo.Mongo.CleanupRequest.newBuilder((mongo.Mongo.CleanupRequest) request_) + .mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + if (requestCase_ == 2) { + cleanupBuilder_.mergeFrom(value); + } + cleanupBuilder_.setMessage(value); + } + requestCase_ = 2; + return this; + } + + /** + * .mongo.CleanupRequest cleanup = 2; + */ + public Builder clearCleanup() { + if (cleanupBuilder_ == null) { + if (requestCase_ == 2) { + requestCase_ = 0; + request_ = null; + onChanged(); + } + } else { + if (requestCase_ == 2) { + requestCase_ = 0; + request_ = null; + } + cleanupBuilder_.clear(); + } + return this; + } + + /** + * .mongo.CleanupRequest cleanup = 2; + */ + public mongo.Mongo.CleanupRequest.Builder getCleanupBuilder() { + return getCleanupFieldBuilder().getBuilder(); + } + + /** + * .mongo.CleanupRequest cleanup = 2; + */ + @java.lang.Override + public mongo.Mongo.CleanupRequestOrBuilder getCleanupOrBuilder() { + if ((requestCase_ == 2) && (cleanupBuilder_ != null)) { + return cleanupBuilder_.getMessageOrBuilder(); + } else { + if (requestCase_ == 2) { + return (mongo.Mongo.CleanupRequest) request_; + } + return mongo.Mongo.CleanupRequest.getDefaultInstance(); + } + } + + /** + * .mongo.CleanupRequest cleanup = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3 getCleanupFieldBuilder() { + if (cleanupBuilder_ == null) { + if (!(requestCase_ == 2)) { + request_ = mongo.Mongo.CleanupRequest.getDefaultInstance(); + } + cleanupBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.CleanupRequest) request_, + getParentForChildren(), + isClean()); + request_ = null; + } + requestCase_ = 2; + onChanged(); + ; + return cleanupBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 deleteBuilder_; + + /** + * .mongo.DeleteRequest delete = 3; + * + * @return Whether the delete field is set. + */ + @java.lang.Override + public boolean hasDelete() { + return requestCase_ == 3; + } + + /** + * .mongo.DeleteRequest delete = 3; + * + * @return The delete. + */ + @java.lang.Override + public mongo.Mongo.DeleteRequest getDelete() { + if (deleteBuilder_ == null) { + if (requestCase_ == 3) { + return (mongo.Mongo.DeleteRequest) request_; + } + return mongo.Mongo.DeleteRequest.getDefaultInstance(); + } else { + if (requestCase_ == 3) { + return deleteBuilder_.getMessage(); + } + return mongo.Mongo.DeleteRequest.getDefaultInstance(); + } + } + + /** + * .mongo.DeleteRequest delete = 3; + */ + public Builder setDelete(mongo.Mongo.DeleteRequest value) { + if (deleteBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + deleteBuilder_.setMessage(value); + } + requestCase_ = 3; + return this; + } + + /** + * .mongo.DeleteRequest delete = 3; + */ + public Builder setDelete( + mongo.Mongo.DeleteRequest.Builder builderForValue) { + if (deleteBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + deleteBuilder_.setMessage(builderForValue.build()); + } + requestCase_ = 3; + return this; + } + + /** + * .mongo.DeleteRequest delete = 3; + */ + public Builder mergeDelete(mongo.Mongo.DeleteRequest value) { + if (deleteBuilder_ == null) { + if (requestCase_ == 3 && + request_ != mongo.Mongo.DeleteRequest.getDefaultInstance()) { + request_ = mongo.Mongo.DeleteRequest.newBuilder((mongo.Mongo.DeleteRequest) request_) + .mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + if (requestCase_ == 3) { + deleteBuilder_.mergeFrom(value); + } + deleteBuilder_.setMessage(value); + } + requestCase_ = 3; + return this; + } + + /** + * .mongo.DeleteRequest delete = 3; + */ + public Builder clearDelete() { + if (deleteBuilder_ == null) { + if (requestCase_ == 3) { + requestCase_ = 0; + request_ = null; + onChanged(); + } + } else { + if (requestCase_ == 3) { + requestCase_ = 0; + request_ = null; + } + deleteBuilder_.clear(); + } + return this; + } + + /** + * .mongo.DeleteRequest delete = 3; + */ + public mongo.Mongo.DeleteRequest.Builder getDeleteBuilder() { + return getDeleteFieldBuilder().getBuilder(); + } + + /** + * .mongo.DeleteRequest delete = 3; + */ + @java.lang.Override + public mongo.Mongo.DeleteRequestOrBuilder getDeleteOrBuilder() { + if ((requestCase_ == 3) && (deleteBuilder_ != null)) { + return deleteBuilder_.getMessageOrBuilder(); + } else { + if (requestCase_ == 3) { + return (mongo.Mongo.DeleteRequest) request_; + } + return mongo.Mongo.DeleteRequest.getDefaultInstance(); + } + } + + /** + * .mongo.DeleteRequest delete = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3 getDeleteFieldBuilder() { + if (deleteBuilder_ == null) { + if (!(requestCase_ == 3)) { + request_ = mongo.Mongo.DeleteRequest.getDefaultInstance(); + } + deleteBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.DeleteRequest) request_, + getParentForChildren(), + isClean()); + request_ = null; + } + requestCase_ = 3; + onChanged(); + ; + return deleteBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 insertBuilder_; + + /** + * .mongo.InsertRequest insert = 4; + * + * @return Whether the insert field is set. + */ + @java.lang.Override + public boolean hasInsert() { + return requestCase_ == 4; + } + + /** + * .mongo.InsertRequest insert = 4; + * + * @return The insert. + */ + @java.lang.Override + public mongo.Mongo.InsertRequest getInsert() { + if (insertBuilder_ == null) { + if (requestCase_ == 4) { + return (mongo.Mongo.InsertRequest) request_; + } + return mongo.Mongo.InsertRequest.getDefaultInstance(); + } else { + if (requestCase_ == 4) { + return insertBuilder_.getMessage(); + } + return mongo.Mongo.InsertRequest.getDefaultInstance(); + } + } + + /** + * .mongo.InsertRequest insert = 4; + */ + public Builder setInsert(mongo.Mongo.InsertRequest value) { + if (insertBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + insertBuilder_.setMessage(value); + } + requestCase_ = 4; + return this; + } + + /** + * .mongo.InsertRequest insert = 4; + */ + public Builder setInsert( + mongo.Mongo.InsertRequest.Builder builderForValue) { + if (insertBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + insertBuilder_.setMessage(builderForValue.build()); + } + requestCase_ = 4; + return this; + } + + /** + * .mongo.InsertRequest insert = 4; + */ + public Builder mergeInsert(mongo.Mongo.InsertRequest value) { + if (insertBuilder_ == null) { + if (requestCase_ == 4 && + request_ != mongo.Mongo.InsertRequest.getDefaultInstance()) { + request_ = mongo.Mongo.InsertRequest.newBuilder((mongo.Mongo.InsertRequest) request_) + .mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + if (requestCase_ == 4) { + insertBuilder_.mergeFrom(value); + } + insertBuilder_.setMessage(value); + } + requestCase_ = 4; + return this; + } + + /** + * .mongo.InsertRequest insert = 4; + */ + public Builder clearInsert() { + if (insertBuilder_ == null) { + if (requestCase_ == 4) { + requestCase_ = 0; + request_ = null; + onChanged(); + } + } else { + if (requestCase_ == 4) { + requestCase_ = 0; + request_ = null; + } + insertBuilder_.clear(); + } + return this; + } + + /** + * .mongo.InsertRequest insert = 4; + */ + public mongo.Mongo.InsertRequest.Builder getInsertBuilder() { + return getInsertFieldBuilder().getBuilder(); + } + + /** + * .mongo.InsertRequest insert = 4; + */ + @java.lang.Override + public mongo.Mongo.InsertRequestOrBuilder getInsertOrBuilder() { + if ((requestCase_ == 4) && (insertBuilder_ != null)) { + return insertBuilder_.getMessageOrBuilder(); + } else { + if (requestCase_ == 4) { + return (mongo.Mongo.InsertRequest) request_; + } + return mongo.Mongo.InsertRequest.getDefaultInstance(); + } + } + + /** + * .mongo.InsertRequest insert = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3 getInsertFieldBuilder() { + if (insertBuilder_ == null) { + if (!(requestCase_ == 4)) { + request_ = mongo.Mongo.InsertRequest.getDefaultInstance(); + } + insertBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.InsertRequest) request_, + getParentForChildren(), + isClean()); + request_ = null; + } + requestCase_ = 4; + onChanged(); + ; + return insertBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 readBuilder_; + + /** + * .mongo.ReadRequest read = 5; + * + * @return Whether the read field is set. + */ + @java.lang.Override + public boolean hasRead() { + return requestCase_ == 5; + } + + /** + * .mongo.ReadRequest read = 5; + * + * @return The read. + */ + @java.lang.Override + public mongo.Mongo.ReadRequest getRead() { + if (readBuilder_ == null) { + if (requestCase_ == 5) { + return (mongo.Mongo.ReadRequest) request_; + } + return mongo.Mongo.ReadRequest.getDefaultInstance(); + } else { + if (requestCase_ == 5) { + return readBuilder_.getMessage(); + } + return mongo.Mongo.ReadRequest.getDefaultInstance(); + } + } + + /** + * .mongo.ReadRequest read = 5; + */ + public Builder setRead(mongo.Mongo.ReadRequest value) { + if (readBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + readBuilder_.setMessage(value); + } + requestCase_ = 5; + return this; + } + + /** + * .mongo.ReadRequest read = 5; + */ + public Builder setRead( + mongo.Mongo.ReadRequest.Builder builderForValue) { + if (readBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + readBuilder_.setMessage(builderForValue.build()); + } + requestCase_ = 5; + return this; + } + + /** + * .mongo.ReadRequest read = 5; + */ + public Builder mergeRead(mongo.Mongo.ReadRequest value) { + if (readBuilder_ == null) { + if (requestCase_ == 5 && + request_ != mongo.Mongo.ReadRequest.getDefaultInstance()) { + request_ = mongo.Mongo.ReadRequest.newBuilder((mongo.Mongo.ReadRequest) request_) + .mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + if (requestCase_ == 5) { + readBuilder_.mergeFrom(value); + } + readBuilder_.setMessage(value); + } + requestCase_ = 5; + return this; + } + + /** + * .mongo.ReadRequest read = 5; + */ + public Builder clearRead() { + if (readBuilder_ == null) { + if (requestCase_ == 5) { + requestCase_ = 0; + request_ = null; + onChanged(); + } + } else { + if (requestCase_ == 5) { + requestCase_ = 0; + request_ = null; + } + readBuilder_.clear(); + } + return this; + } + + /** + * .mongo.ReadRequest read = 5; + */ + public mongo.Mongo.ReadRequest.Builder getReadBuilder() { + return getReadFieldBuilder().getBuilder(); + } + + /** + * .mongo.ReadRequest read = 5; + */ + @java.lang.Override + public mongo.Mongo.ReadRequestOrBuilder getReadOrBuilder() { + if ((requestCase_ == 5) && (readBuilder_ != null)) { + return readBuilder_.getMessageOrBuilder(); + } else { + if (requestCase_ == 5) { + return (mongo.Mongo.ReadRequest) request_; + } + return mongo.Mongo.ReadRequest.getDefaultInstance(); + } + } + + /** + * .mongo.ReadRequest read = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3 getReadFieldBuilder() { + if (readBuilder_ == null) { + if (!(requestCase_ == 5)) { + request_ = mongo.Mongo.ReadRequest.getDefaultInstance(); + } + readBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.ReadRequest) request_, + getParentForChildren(), + isClean()); + request_ = null; + } + requestCase_ = 5; + onChanged(); + ; + return readBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 scanBuilder_; + + /** + * .mongo.ScanRequest scan = 6; + * + * @return Whether the scan field is set. + */ + @java.lang.Override + public boolean hasScan() { + return requestCase_ == 6; + } + + /** + * .mongo.ScanRequest scan = 6; + * + * @return The scan. + */ + @java.lang.Override + public mongo.Mongo.ScanRequest getScan() { + if (scanBuilder_ == null) { + if (requestCase_ == 6) { + return (mongo.Mongo.ScanRequest) request_; + } + return mongo.Mongo.ScanRequest.getDefaultInstance(); + } else { + if (requestCase_ == 6) { + return scanBuilder_.getMessage(); + } + return mongo.Mongo.ScanRequest.getDefaultInstance(); + } + } + + /** + * .mongo.ScanRequest scan = 6; + */ + public Builder setScan(mongo.Mongo.ScanRequest value) { + if (scanBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + scanBuilder_.setMessage(value); + } + requestCase_ = 6; + return this; + } + + /** + * .mongo.ScanRequest scan = 6; + */ + public Builder setScan( + mongo.Mongo.ScanRequest.Builder builderForValue) { + if (scanBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + scanBuilder_.setMessage(builderForValue.build()); + } + requestCase_ = 6; + return this; + } + + /** + * .mongo.ScanRequest scan = 6; + */ + public Builder mergeScan(mongo.Mongo.ScanRequest value) { + if (scanBuilder_ == null) { + if (requestCase_ == 6 && + request_ != mongo.Mongo.ScanRequest.getDefaultInstance()) { + request_ = mongo.Mongo.ScanRequest.newBuilder((mongo.Mongo.ScanRequest) request_) + .mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + if (requestCase_ == 6) { + scanBuilder_.mergeFrom(value); + } + scanBuilder_.setMessage(value); + } + requestCase_ = 6; + return this; + } + + /** + * .mongo.ScanRequest scan = 6; + */ + public Builder clearScan() { + if (scanBuilder_ == null) { + if (requestCase_ == 6) { + requestCase_ = 0; + request_ = null; + onChanged(); + } + } else { + if (requestCase_ == 6) { + requestCase_ = 0; + request_ = null; + } + scanBuilder_.clear(); + } + return this; + } + + /** + * .mongo.ScanRequest scan = 6; + */ + public mongo.Mongo.ScanRequest.Builder getScanBuilder() { + return getScanFieldBuilder().getBuilder(); + } + + /** + * .mongo.ScanRequest scan = 6; + */ + @java.lang.Override + public mongo.Mongo.ScanRequestOrBuilder getScanOrBuilder() { + if ((requestCase_ == 6) && (scanBuilder_ != null)) { + return scanBuilder_.getMessageOrBuilder(); + } else { + if (requestCase_ == 6) { + return (mongo.Mongo.ScanRequest) request_; + } + return mongo.Mongo.ScanRequest.getDefaultInstance(); + } + } + + /** + * .mongo.ScanRequest scan = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3 getScanFieldBuilder() { + if (scanBuilder_ == null) { + if (!(requestCase_ == 6)) { + request_ = mongo.Mongo.ScanRequest.getDefaultInstance(); + } + scanBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.ScanRequest) request_, + getParentForChildren(), + isClean()); + request_ = null; + } + requestCase_ = 6; + onChanged(); + ; + return scanBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 updateBuilder_; + + /** + * .mongo.UpdateRequest update = 7; + * + * @return Whether the update field is set. + */ + @java.lang.Override + public boolean hasUpdate() { + return requestCase_ == 7; + } + + /** + * .mongo.UpdateRequest update = 7; + * + * @return The update. + */ + @java.lang.Override + public mongo.Mongo.UpdateRequest getUpdate() { + if (updateBuilder_ == null) { + if (requestCase_ == 7) { + return (mongo.Mongo.UpdateRequest) request_; + } + return mongo.Mongo.UpdateRequest.getDefaultInstance(); + } else { + if (requestCase_ == 7) { + return updateBuilder_.getMessage(); + } + return mongo.Mongo.UpdateRequest.getDefaultInstance(); + } + } + + /** + * .mongo.UpdateRequest update = 7; + */ + public Builder setUpdate(mongo.Mongo.UpdateRequest value) { + if (updateBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + updateBuilder_.setMessage(value); + } + requestCase_ = 7; + return this; + } + + /** + * .mongo.UpdateRequest update = 7; + */ + public Builder setUpdate( + mongo.Mongo.UpdateRequest.Builder builderForValue) { + if (updateBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + updateBuilder_.setMessage(builderForValue.build()); + } + requestCase_ = 7; + return this; + } + + /** + * .mongo.UpdateRequest update = 7; + */ + public Builder mergeUpdate(mongo.Mongo.UpdateRequest value) { + if (updateBuilder_ == null) { + if (requestCase_ == 7 && + request_ != mongo.Mongo.UpdateRequest.getDefaultInstance()) { + request_ = mongo.Mongo.UpdateRequest.newBuilder((mongo.Mongo.UpdateRequest) request_) + .mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + if (requestCase_ == 7) { + updateBuilder_.mergeFrom(value); + } + updateBuilder_.setMessage(value); + } + requestCase_ = 7; + return this; + } + + /** + * .mongo.UpdateRequest update = 7; + */ + public Builder clearUpdate() { + if (updateBuilder_ == null) { + if (requestCase_ == 7) { + requestCase_ = 0; + request_ = null; + onChanged(); + } + } else { + if (requestCase_ == 7) { + requestCase_ = 0; + request_ = null; + } + updateBuilder_.clear(); + } + return this; + } + + /** + * .mongo.UpdateRequest update = 7; + */ + public mongo.Mongo.UpdateRequest.Builder getUpdateBuilder() { + return getUpdateFieldBuilder().getBuilder(); + } + + /** + * .mongo.UpdateRequest update = 7; + */ + @java.lang.Override + public mongo.Mongo.UpdateRequestOrBuilder getUpdateOrBuilder() { + if ((requestCase_ == 7) && (updateBuilder_ != null)) { + return updateBuilder_.getMessageOrBuilder(); + } else { + if (requestCase_ == 7) { + return (mongo.Mongo.UpdateRequest) request_; + } + return mongo.Mongo.UpdateRequest.getDefaultInstance(); + } + } + + /** + * .mongo.UpdateRequest update = 7; + */ + private com.google.protobuf.SingleFieldBuilderV3 getUpdateFieldBuilder() { + if (updateBuilder_ == null) { + if (!(requestCase_ == 7)) { + request_ = mongo.Mongo.UpdateRequest.getDefaultInstance(); + } + updateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.UpdateRequest) request_, + getParentForChildren(), + isClean()); + request_ = null; + } + requestCase_ = 7; + onChanged(); + ; + return updateBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.MongoRequest) + } + + // @@protoc_insertion_point(class_scope:mongo.MongoRequest) + private static final mongo.Mongo.MongoRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.MongoRequest(); + } + + public static mongo.Mongo.MongoRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public MongoRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.MongoRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface MongoResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.MongoResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * .mongo.MongoResponse.Status status = 1; + * + * @return The enum numeric value on the wire for status. + */ + int getStatusValue(); + + /** + * .mongo.MongoResponse.Status status = 1; + * + * @return The status. + */ + mongo.Mongo.MongoResponse.Status getStatus(); + + /** + * .mongo.CleanupResponse cleanup = 2; + * + * @return Whether the cleanup field is set. + */ + boolean hasCleanup(); + + /** + * .mongo.CleanupResponse cleanup = 2; + * + * @return The cleanup. + */ + mongo.Mongo.CleanupResponse getCleanup(); + + /** + * .mongo.CleanupResponse cleanup = 2; + */ + mongo.Mongo.CleanupResponseOrBuilder getCleanupOrBuilder(); + + /** + * .mongo.DeleteResponse delete = 3; + * + * @return Whether the delete field is set. + */ + boolean hasDelete(); + + /** + * .mongo.DeleteResponse delete = 3; + * + * @return The delete. + */ + mongo.Mongo.DeleteResponse getDelete(); + + /** + * .mongo.DeleteResponse delete = 3; + */ + mongo.Mongo.DeleteResponseOrBuilder getDeleteOrBuilder(); + + /** + * .mongo.InsertResponse insert = 4; + * + * @return Whether the insert field is set. + */ + boolean hasInsert(); + + /** + * .mongo.InsertResponse insert = 4; + * + * @return The insert. + */ + mongo.Mongo.InsertResponse getInsert(); + + /** + * .mongo.InsertResponse insert = 4; + */ + mongo.Mongo.InsertResponseOrBuilder getInsertOrBuilder(); + + /** + * .mongo.ReadResponse read = 5; + * + * @return Whether the read field is set. + */ + boolean hasRead(); + + /** + * .mongo.ReadResponse read = 5; + * + * @return The read. + */ + mongo.Mongo.ReadResponse getRead(); + + /** + * .mongo.ReadResponse read = 5; + */ + mongo.Mongo.ReadResponseOrBuilder getReadOrBuilder(); + + /** + * .mongo.ScanResponse scan = 6; + * + * @return Whether the scan field is set. + */ + boolean hasScan(); + + /** + * .mongo.ScanResponse scan = 6; + * + * @return The scan. + */ + mongo.Mongo.ScanResponse getScan(); + + /** + * .mongo.ScanResponse scan = 6; + */ + mongo.Mongo.ScanResponseOrBuilder getScanOrBuilder(); + + /** + * .mongo.UpdateResponse update = 7; + * + * @return Whether the update field is set. + */ + boolean hasUpdate(); + + /** + * .mongo.UpdateResponse update = 7; + * + * @return The update. + */ + mongo.Mongo.UpdateResponse getUpdate(); + + /** + * .mongo.UpdateResponse update = 7; + */ + mongo.Mongo.UpdateResponseOrBuilder getUpdateOrBuilder(); + + public mongo.Mongo.MongoResponse.ResponseCase getResponseCase(); + } + + /** + * Protobuf type {@code mongo.MongoResponse} + */ + public static final class MongoResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.MongoResponse) + MongoResponseOrBuilder { + private static final long serialVersionUID = 0L; + + // Use MongoResponse.newBuilder() to construct. + private MongoResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private MongoResponse() { + status_ = 0; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new MongoResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_MongoResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_MongoResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.MongoResponse.class, mongo.Mongo.MongoResponse.Builder.class); + } + + /** + * Protobuf enum {@code mongo.MongoResponse.Status} + */ + public enum Status + implements com.google.protobuf.ProtocolMessageEnum { + /** + * OK = 0; + */ + OK(0), + /** + * ERROR = 1; + */ + ERROR(1), + /** + * NOT_FOUND = 2; + */ + NOT_FOUND(2), + /** + * BATCHED_OK = 3; + */ + BATCHED_OK(3), + UNRECOGNIZED(-1), + ; + + /** + * OK = 0; + */ + public static final int OK_VALUE = 0; + /** + * ERROR = 1; + */ + public static final int ERROR_VALUE = 1; + /** + * NOT_FOUND = 2; + */ + public static final int NOT_FOUND_VALUE = 2; + /** + * BATCHED_OK = 3; + */ + public static final int BATCHED_OK_VALUE = 3; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Status valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Status forNumber(int value) { + switch (value) { + case 0: + return OK; + case 1: + return ERROR; + case 2: + return NOT_FOUND; + case 3: + return BATCHED_OK; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { + public Status findValueByNumber(int number) { + return Status.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return mongo.Mongo.MongoResponse.getDescriptor().getEnumTypes().get(0); + } + + private static final Status[] VALUES = values(); + + public static Status valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Status(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:mongo.MongoResponse.Status) + } + + private int responseCase_ = 0; + private java.lang.Object response_; + + public enum ResponseCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + CLEANUP(2), + DELETE(3), + INSERT(4), + READ(5), + SCAN(6), + UPDATE(7), + RESPONSE_NOT_SET(0); + + private final int value; + + private ResponseCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ResponseCase valueOf(int value) { + return forNumber(value); + } + + public static ResponseCase forNumber(int value) { + switch (value) { + case 2: + return CLEANUP; + case 3: + return DELETE; + case 4: + return INSERT; + case 5: + return READ; + case 6: + return SCAN; + case 7: + return UPDATE; + case 0: + return RESPONSE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public ResponseCase getResponseCase() { + return ResponseCase.forNumber( + responseCase_); + } + + public static final int STATUS_FIELD_NUMBER = 1; + private int status_; + + /** + * .mongo.MongoResponse.Status status = 1; + * + * @return The enum numeric value on the wire for status. + */ + @java.lang.Override + public int getStatusValue() { + return status_; + } + + /** + * .mongo.MongoResponse.Status status = 1; + * + * @return The status. + */ + @java.lang.Override + public mongo.Mongo.MongoResponse.Status getStatus() { + @SuppressWarnings("deprecation") + mongo.Mongo.MongoResponse.Status result = mongo.Mongo.MongoResponse.Status.valueOf(status_); + return result == null ? mongo.Mongo.MongoResponse.Status.UNRECOGNIZED : result; + } + + public static final int CLEANUP_FIELD_NUMBER = 2; + + /** + * .mongo.CleanupResponse cleanup = 2; + * + * @return Whether the cleanup field is set. + */ + @java.lang.Override + public boolean hasCleanup() { + return responseCase_ == 2; + } + + /** + * .mongo.CleanupResponse cleanup = 2; + * + * @return The cleanup. + */ + @java.lang.Override + public mongo.Mongo.CleanupResponse getCleanup() { + if (responseCase_ == 2) { + return (mongo.Mongo.CleanupResponse) response_; + } + return mongo.Mongo.CleanupResponse.getDefaultInstance(); + } + + /** + * .mongo.CleanupResponse cleanup = 2; + */ + @java.lang.Override + public mongo.Mongo.CleanupResponseOrBuilder getCleanupOrBuilder() { + if (responseCase_ == 2) { + return (mongo.Mongo.CleanupResponse) response_; + } + return mongo.Mongo.CleanupResponse.getDefaultInstance(); + } + + public static final int DELETE_FIELD_NUMBER = 3; + + /** + * .mongo.DeleteResponse delete = 3; + * + * @return Whether the delete field is set. + */ + @java.lang.Override + public boolean hasDelete() { + return responseCase_ == 3; + } + + /** + * .mongo.DeleteResponse delete = 3; + * + * @return The delete. + */ + @java.lang.Override + public mongo.Mongo.DeleteResponse getDelete() { + if (responseCase_ == 3) { + return (mongo.Mongo.DeleteResponse) response_; + } + return mongo.Mongo.DeleteResponse.getDefaultInstance(); + } + + /** + * .mongo.DeleteResponse delete = 3; + */ + @java.lang.Override + public mongo.Mongo.DeleteResponseOrBuilder getDeleteOrBuilder() { + if (responseCase_ == 3) { + return (mongo.Mongo.DeleteResponse) response_; + } + return mongo.Mongo.DeleteResponse.getDefaultInstance(); + } + + public static final int INSERT_FIELD_NUMBER = 4; + + /** + * .mongo.InsertResponse insert = 4; + * + * @return Whether the insert field is set. + */ + @java.lang.Override + public boolean hasInsert() { + return responseCase_ == 4; + } + + /** + * .mongo.InsertResponse insert = 4; + * + * @return The insert. + */ + @java.lang.Override + public mongo.Mongo.InsertResponse getInsert() { + if (responseCase_ == 4) { + return (mongo.Mongo.InsertResponse) response_; + } + return mongo.Mongo.InsertResponse.getDefaultInstance(); + } + + /** + * .mongo.InsertResponse insert = 4; + */ + @java.lang.Override + public mongo.Mongo.InsertResponseOrBuilder getInsertOrBuilder() { + if (responseCase_ == 4) { + return (mongo.Mongo.InsertResponse) response_; + } + return mongo.Mongo.InsertResponse.getDefaultInstance(); + } + + public static final int READ_FIELD_NUMBER = 5; + + /** + * .mongo.ReadResponse read = 5; + * + * @return Whether the read field is set. + */ + @java.lang.Override + public boolean hasRead() { + return responseCase_ == 5; + } + + /** + * .mongo.ReadResponse read = 5; + * + * @return The read. + */ + @java.lang.Override + public mongo.Mongo.ReadResponse getRead() { + if (responseCase_ == 5) { + return (mongo.Mongo.ReadResponse) response_; + } + return mongo.Mongo.ReadResponse.getDefaultInstance(); + } + + /** + * .mongo.ReadResponse read = 5; + */ + @java.lang.Override + public mongo.Mongo.ReadResponseOrBuilder getReadOrBuilder() { + if (responseCase_ == 5) { + return (mongo.Mongo.ReadResponse) response_; + } + return mongo.Mongo.ReadResponse.getDefaultInstance(); + } + + public static final int SCAN_FIELD_NUMBER = 6; + + /** + * .mongo.ScanResponse scan = 6; + * + * @return Whether the scan field is set. + */ + @java.lang.Override + public boolean hasScan() { + return responseCase_ == 6; + } + + /** + * .mongo.ScanResponse scan = 6; + * + * @return The scan. + */ + @java.lang.Override + public mongo.Mongo.ScanResponse getScan() { + if (responseCase_ == 6) { + return (mongo.Mongo.ScanResponse) response_; + } + return mongo.Mongo.ScanResponse.getDefaultInstance(); + } + + /** + * .mongo.ScanResponse scan = 6; + */ + @java.lang.Override + public mongo.Mongo.ScanResponseOrBuilder getScanOrBuilder() { + if (responseCase_ == 6) { + return (mongo.Mongo.ScanResponse) response_; + } + return mongo.Mongo.ScanResponse.getDefaultInstance(); + } + + public static final int UPDATE_FIELD_NUMBER = 7; + + /** + * .mongo.UpdateResponse update = 7; + * + * @return Whether the update field is set. + */ + @java.lang.Override + public boolean hasUpdate() { + return responseCase_ == 7; + } + + /** + * .mongo.UpdateResponse update = 7; + * + * @return The update. + */ + @java.lang.Override + public mongo.Mongo.UpdateResponse getUpdate() { + if (responseCase_ == 7) { + return (mongo.Mongo.UpdateResponse) response_; + } + return mongo.Mongo.UpdateResponse.getDefaultInstance(); + } + + /** + * .mongo.UpdateResponse update = 7; + */ + @java.lang.Override + public mongo.Mongo.UpdateResponseOrBuilder getUpdateOrBuilder() { + if (responseCase_ == 7) { + return (mongo.Mongo.UpdateResponse) response_; + } + return mongo.Mongo.UpdateResponse.getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (status_ != mongo.Mongo.MongoResponse.Status.OK.getNumber()) { + output.writeEnum(1, status_); + } + if (responseCase_ == 2) { + output.writeMessage(2, (mongo.Mongo.CleanupResponse) response_); + } + if (responseCase_ == 3) { + output.writeMessage(3, (mongo.Mongo.DeleteResponse) response_); + } + if (responseCase_ == 4) { + output.writeMessage(4, (mongo.Mongo.InsertResponse) response_); + } + if (responseCase_ == 5) { + output.writeMessage(5, (mongo.Mongo.ReadResponse) response_); + } + if (responseCase_ == 6) { + output.writeMessage(6, (mongo.Mongo.ScanResponse) response_); + } + if (responseCase_ == 7) { + output.writeMessage(7, (mongo.Mongo.UpdateResponse) response_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + if (status_ != mongo.Mongo.MongoResponse.Status.OK.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, status_); + } + if (responseCase_ == 2) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, (mongo.Mongo.CleanupResponse) response_); + } + if (responseCase_ == 3) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, (mongo.Mongo.DeleteResponse) response_); + } + if (responseCase_ == 4) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, (mongo.Mongo.InsertResponse) response_); + } + if (responseCase_ == 5) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, (mongo.Mongo.ReadResponse) response_); + } + if (responseCase_ == 6) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, (mongo.Mongo.ScanResponse) response_); + } + if (responseCase_ == 7) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, (mongo.Mongo.UpdateResponse) response_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.MongoResponse)) { + return super.equals(obj); + } + mongo.Mongo.MongoResponse other = (mongo.Mongo.MongoResponse) obj; + + if (status_ != other.status_) + return false; + if (!getResponseCase().equals(other.getResponseCase())) + return false; + switch (responseCase_) { + case 2: + if (!getCleanup() + .equals(other.getCleanup())) + return false; + break; + case 3: + if (!getDelete() + .equals(other.getDelete())) + return false; + break; + case 4: + if (!getInsert() + .equals(other.getInsert())) + return false; + break; + case 5: + if (!getRead() + .equals(other.getRead())) + return false; + break; + case 6: + if (!getScan() + .equals(other.getScan())) + return false; + break; + case 7: + if (!getUpdate() + .equals(other.getUpdate())) + return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + STATUS_FIELD_NUMBER; + hash = (53 * hash) + status_; + switch (responseCase_) { + case 2: + hash = (37 * hash) + CLEANUP_FIELD_NUMBER; + hash = (53 * hash) + getCleanup().hashCode(); + break; + case 3: + hash = (37 * hash) + DELETE_FIELD_NUMBER; + hash = (53 * hash) + getDelete().hashCode(); + break; + case 4: + hash = (37 * hash) + INSERT_FIELD_NUMBER; + hash = (53 * hash) + getInsert().hashCode(); + break; + case 5: + hash = (37 * hash) + READ_FIELD_NUMBER; + hash = (53 * hash) + getRead().hashCode(); + break; + case 6: + hash = (37 * hash) + SCAN_FIELD_NUMBER; + hash = (53 * hash) + getScan().hashCode(); + break; + case 7: + hash = (37 * hash) + UPDATE_FIELD_NUMBER; + hash = (53 * hash) + getUpdate().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.MongoResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.MongoResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.MongoResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.MongoResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.MongoResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.MongoResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.MongoResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.MongoResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.MongoResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.MongoResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.MongoResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.MongoResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.MongoResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.MongoResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.MongoResponse) + mongo.Mongo.MongoResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_MongoResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_MongoResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.MongoResponse.class, mongo.Mongo.MongoResponse.Builder.class); + } + + // Construct using mongo.Mongo.MongoResponse.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + status_ = 0; + + if (cleanupBuilder_ != null) { + cleanupBuilder_.clear(); + } + if (deleteBuilder_ != null) { + deleteBuilder_.clear(); + } + if (insertBuilder_ != null) { + insertBuilder_.clear(); + } + if (readBuilder_ != null) { + readBuilder_.clear(); + } + if (scanBuilder_ != null) { + scanBuilder_.clear(); + } + if (updateBuilder_ != null) { + updateBuilder_.clear(); + } + responseCase_ = 0; + response_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_MongoResponse_descriptor; + } + + @java.lang.Override + public mongo.Mongo.MongoResponse getDefaultInstanceForType() { + return mongo.Mongo.MongoResponse.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.MongoResponse build() { + mongo.Mongo.MongoResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.MongoResponse buildPartial() { + mongo.Mongo.MongoResponse result = new mongo.Mongo.MongoResponse(this); + result.status_ = status_; + if (responseCase_ == 2) { + if (cleanupBuilder_ == null) { + result.response_ = response_; + } else { + result.response_ = cleanupBuilder_.build(); + } + } + if (responseCase_ == 3) { + if (deleteBuilder_ == null) { + result.response_ = response_; + } else { + result.response_ = deleteBuilder_.build(); + } + } + if (responseCase_ == 4) { + if (insertBuilder_ == null) { + result.response_ = response_; + } else { + result.response_ = insertBuilder_.build(); + } + } + if (responseCase_ == 5) { + if (readBuilder_ == null) { + result.response_ = response_; + } else { + result.response_ = readBuilder_.build(); + } + } + if (responseCase_ == 6) { + if (scanBuilder_ == null) { + result.response_ = response_; + } else { + result.response_ = scanBuilder_.build(); + } + } + if (responseCase_ == 7) { + if (updateBuilder_ == null) { + result.response_ = response_; + } else { + result.response_ = updateBuilder_.build(); + } + } + result.responseCase_ = responseCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.MongoResponse) { + return mergeFrom((mongo.Mongo.MongoResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.MongoResponse other) { + if (other == mongo.Mongo.MongoResponse.getDefaultInstance()) + return this; + if (other.status_ != 0) { + setStatusValue(other.getStatusValue()); + } + switch (other.getResponseCase()) { + case CLEANUP: { + mergeCleanup(other.getCleanup()); + break; + } + case DELETE: { + mergeDelete(other.getDelete()); + break; + } + case INSERT: { + mergeInsert(other.getInsert()); + break; + } + case READ: { + mergeRead(other.getRead()); + break; + } + case SCAN: { + mergeScan(other.getScan()); + break; + } + case UPDATE: { + mergeUpdate(other.getUpdate()); + break; + } + case RESPONSE_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + status_ = input.readEnum(); + + break; + } // case 8 + case 18: { + input.readMessage( + getCleanupFieldBuilder().getBuilder(), + extensionRegistry); + responseCase_ = 2; + break; + } // case 18 + case 26: { + input.readMessage( + getDeleteFieldBuilder().getBuilder(), + extensionRegistry); + responseCase_ = 3; + break; + } // case 26 + case 34: { + input.readMessage( + getInsertFieldBuilder().getBuilder(), + extensionRegistry); + responseCase_ = 4; + break; + } // case 34 + case 42: { + input.readMessage( + getReadFieldBuilder().getBuilder(), + extensionRegistry); + responseCase_ = 5; + break; + } // case 42 + case 50: { + input.readMessage( + getScanFieldBuilder().getBuilder(), + extensionRegistry); + responseCase_ = 6; + break; + } // case 50 + case 58: { + input.readMessage( + getUpdateFieldBuilder().getBuilder(), + extensionRegistry); + responseCase_ = 7; + break; + } // case 58 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int responseCase_ = 0; + private java.lang.Object response_; + + public ResponseCase getResponseCase() { + return ResponseCase.forNumber( + responseCase_); + } + + public Builder clearResponse() { + responseCase_ = 0; + response_ = null; + onChanged(); + return this; + } + + private int status_ = 0; + + /** + * .mongo.MongoResponse.Status status = 1; + * + * @return The enum numeric value on the wire for status. + */ + @java.lang.Override + public int getStatusValue() { + return status_; + } + + /** + * .mongo.MongoResponse.Status status = 1; + * + * @param value The enum numeric value on the wire for status to set. + * @return This builder for chaining. + */ + public Builder setStatusValue(int value) { + + status_ = value; + onChanged(); + return this; + } + + /** + * .mongo.MongoResponse.Status status = 1; + * + * @return The status. + */ + @java.lang.Override + public mongo.Mongo.MongoResponse.Status getStatus() { + @SuppressWarnings("deprecation") + mongo.Mongo.MongoResponse.Status result = mongo.Mongo.MongoResponse.Status.valueOf(status_); + return result == null ? mongo.Mongo.MongoResponse.Status.UNRECOGNIZED : result; + } + + /** + * .mongo.MongoResponse.Status status = 1; + * + * @param value The status to set. + * @return This builder for chaining. + */ + public Builder setStatus(mongo.Mongo.MongoResponse.Status value) { + if (value == null) { + throw new NullPointerException(); + } + + status_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * .mongo.MongoResponse.Status status = 1; + * + * @return This builder for chaining. + */ + public Builder clearStatus() { + + status_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilderV3 cleanupBuilder_; + + /** + * .mongo.CleanupResponse cleanup = 2; + * + * @return Whether the cleanup field is set. + */ + @java.lang.Override + public boolean hasCleanup() { + return responseCase_ == 2; + } + + /** + * .mongo.CleanupResponse cleanup = 2; + * + * @return The cleanup. + */ + @java.lang.Override + public mongo.Mongo.CleanupResponse getCleanup() { + if (cleanupBuilder_ == null) { + if (responseCase_ == 2) { + return (mongo.Mongo.CleanupResponse) response_; + } + return mongo.Mongo.CleanupResponse.getDefaultInstance(); + } else { + if (responseCase_ == 2) { + return cleanupBuilder_.getMessage(); + } + return mongo.Mongo.CleanupResponse.getDefaultInstance(); + } + } + + /** + * .mongo.CleanupResponse cleanup = 2; + */ + public Builder setCleanup(mongo.Mongo.CleanupResponse value) { + if (cleanupBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + response_ = value; + onChanged(); + } else { + cleanupBuilder_.setMessage(value); + } + responseCase_ = 2; + return this; + } + + /** + * .mongo.CleanupResponse cleanup = 2; + */ + public Builder setCleanup( + mongo.Mongo.CleanupResponse.Builder builderForValue) { + if (cleanupBuilder_ == null) { + response_ = builderForValue.build(); + onChanged(); + } else { + cleanupBuilder_.setMessage(builderForValue.build()); + } + responseCase_ = 2; + return this; + } + + /** + * .mongo.CleanupResponse cleanup = 2; + */ + public Builder mergeCleanup(mongo.Mongo.CleanupResponse value) { + if (cleanupBuilder_ == null) { + if (responseCase_ == 2 && + response_ != mongo.Mongo.CleanupResponse.getDefaultInstance()) { + response_ = mongo.Mongo.CleanupResponse.newBuilder((mongo.Mongo.CleanupResponse) response_) + .mergeFrom(value).buildPartial(); + } else { + response_ = value; + } + onChanged(); + } else { + if (responseCase_ == 2) { + cleanupBuilder_.mergeFrom(value); + } + cleanupBuilder_.setMessage(value); + } + responseCase_ = 2; + return this; + } + + /** + * .mongo.CleanupResponse cleanup = 2; + */ + public Builder clearCleanup() { + if (cleanupBuilder_ == null) { + if (responseCase_ == 2) { + responseCase_ = 0; + response_ = null; + onChanged(); + } + } else { + if (responseCase_ == 2) { + responseCase_ = 0; + response_ = null; + } + cleanupBuilder_.clear(); + } + return this; + } + + /** + * .mongo.CleanupResponse cleanup = 2; + */ + public mongo.Mongo.CleanupResponse.Builder getCleanupBuilder() { + return getCleanupFieldBuilder().getBuilder(); + } + + /** + * .mongo.CleanupResponse cleanup = 2; + */ + @java.lang.Override + public mongo.Mongo.CleanupResponseOrBuilder getCleanupOrBuilder() { + if ((responseCase_ == 2) && (cleanupBuilder_ != null)) { + return cleanupBuilder_.getMessageOrBuilder(); + } else { + if (responseCase_ == 2) { + return (mongo.Mongo.CleanupResponse) response_; + } + return mongo.Mongo.CleanupResponse.getDefaultInstance(); + } + } + + /** + * .mongo.CleanupResponse cleanup = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3 getCleanupFieldBuilder() { + if (cleanupBuilder_ == null) { + if (!(responseCase_ == 2)) { + response_ = mongo.Mongo.CleanupResponse.getDefaultInstance(); + } + cleanupBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.CleanupResponse) response_, + getParentForChildren(), + isClean()); + response_ = null; + } + responseCase_ = 2; + onChanged(); + ; + return cleanupBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 deleteBuilder_; + + /** + * .mongo.DeleteResponse delete = 3; + * + * @return Whether the delete field is set. + */ + @java.lang.Override + public boolean hasDelete() { + return responseCase_ == 3; + } + + /** + * .mongo.DeleteResponse delete = 3; + * + * @return The delete. + */ + @java.lang.Override + public mongo.Mongo.DeleteResponse getDelete() { + if (deleteBuilder_ == null) { + if (responseCase_ == 3) { + return (mongo.Mongo.DeleteResponse) response_; + } + return mongo.Mongo.DeleteResponse.getDefaultInstance(); + } else { + if (responseCase_ == 3) { + return deleteBuilder_.getMessage(); + } + return mongo.Mongo.DeleteResponse.getDefaultInstance(); + } + } + + /** + * .mongo.DeleteResponse delete = 3; + */ + public Builder setDelete(mongo.Mongo.DeleteResponse value) { + if (deleteBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + response_ = value; + onChanged(); + } else { + deleteBuilder_.setMessage(value); + } + responseCase_ = 3; + return this; + } + + /** + * .mongo.DeleteResponse delete = 3; + */ + public Builder setDelete( + mongo.Mongo.DeleteResponse.Builder builderForValue) { + if (deleteBuilder_ == null) { + response_ = builderForValue.build(); + onChanged(); + } else { + deleteBuilder_.setMessage(builderForValue.build()); + } + responseCase_ = 3; + return this; + } + + /** + * .mongo.DeleteResponse delete = 3; + */ + public Builder mergeDelete(mongo.Mongo.DeleteResponse value) { + if (deleteBuilder_ == null) { + if (responseCase_ == 3 && + response_ != mongo.Mongo.DeleteResponse.getDefaultInstance()) { + response_ = mongo.Mongo.DeleteResponse.newBuilder((mongo.Mongo.DeleteResponse) response_) + .mergeFrom(value).buildPartial(); + } else { + response_ = value; + } + onChanged(); + } else { + if (responseCase_ == 3) { + deleteBuilder_.mergeFrom(value); + } + deleteBuilder_.setMessage(value); + } + responseCase_ = 3; + return this; + } + + /** + * .mongo.DeleteResponse delete = 3; + */ + public Builder clearDelete() { + if (deleteBuilder_ == null) { + if (responseCase_ == 3) { + responseCase_ = 0; + response_ = null; + onChanged(); + } + } else { + if (responseCase_ == 3) { + responseCase_ = 0; + response_ = null; + } + deleteBuilder_.clear(); + } + return this; + } + + /** + * .mongo.DeleteResponse delete = 3; + */ + public mongo.Mongo.DeleteResponse.Builder getDeleteBuilder() { + return getDeleteFieldBuilder().getBuilder(); + } + + /** + * .mongo.DeleteResponse delete = 3; + */ + @java.lang.Override + public mongo.Mongo.DeleteResponseOrBuilder getDeleteOrBuilder() { + if ((responseCase_ == 3) && (deleteBuilder_ != null)) { + return deleteBuilder_.getMessageOrBuilder(); + } else { + if (responseCase_ == 3) { + return (mongo.Mongo.DeleteResponse) response_; + } + return mongo.Mongo.DeleteResponse.getDefaultInstance(); + } + } + + /** + * .mongo.DeleteResponse delete = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3 getDeleteFieldBuilder() { + if (deleteBuilder_ == null) { + if (!(responseCase_ == 3)) { + response_ = mongo.Mongo.DeleteResponse.getDefaultInstance(); + } + deleteBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.DeleteResponse) response_, + getParentForChildren(), + isClean()); + response_ = null; + } + responseCase_ = 3; + onChanged(); + ; + return deleteBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 insertBuilder_; + + /** + * .mongo.InsertResponse insert = 4; + * + * @return Whether the insert field is set. + */ + @java.lang.Override + public boolean hasInsert() { + return responseCase_ == 4; + } + + /** + * .mongo.InsertResponse insert = 4; + * + * @return The insert. + */ + @java.lang.Override + public mongo.Mongo.InsertResponse getInsert() { + if (insertBuilder_ == null) { + if (responseCase_ == 4) { + return (mongo.Mongo.InsertResponse) response_; + } + return mongo.Mongo.InsertResponse.getDefaultInstance(); + } else { + if (responseCase_ == 4) { + return insertBuilder_.getMessage(); + } + return mongo.Mongo.InsertResponse.getDefaultInstance(); + } + } + + /** + * .mongo.InsertResponse insert = 4; + */ + public Builder setInsert(mongo.Mongo.InsertResponse value) { + if (insertBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + response_ = value; + onChanged(); + } else { + insertBuilder_.setMessage(value); + } + responseCase_ = 4; + return this; + } + + /** + * .mongo.InsertResponse insert = 4; + */ + public Builder setInsert( + mongo.Mongo.InsertResponse.Builder builderForValue) { + if (insertBuilder_ == null) { + response_ = builderForValue.build(); + onChanged(); + } else { + insertBuilder_.setMessage(builderForValue.build()); + } + responseCase_ = 4; + return this; + } + + /** + * .mongo.InsertResponse insert = 4; + */ + public Builder mergeInsert(mongo.Mongo.InsertResponse value) { + if (insertBuilder_ == null) { + if (responseCase_ == 4 && + response_ != mongo.Mongo.InsertResponse.getDefaultInstance()) { + response_ = mongo.Mongo.InsertResponse.newBuilder((mongo.Mongo.InsertResponse) response_) + .mergeFrom(value).buildPartial(); + } else { + response_ = value; + } + onChanged(); + } else { + if (responseCase_ == 4) { + insertBuilder_.mergeFrom(value); + } + insertBuilder_.setMessage(value); + } + responseCase_ = 4; + return this; + } + + /** + * .mongo.InsertResponse insert = 4; + */ + public Builder clearInsert() { + if (insertBuilder_ == null) { + if (responseCase_ == 4) { + responseCase_ = 0; + response_ = null; + onChanged(); + } + } else { + if (responseCase_ == 4) { + responseCase_ = 0; + response_ = null; + } + insertBuilder_.clear(); + } + return this; + } + + /** + * .mongo.InsertResponse insert = 4; + */ + public mongo.Mongo.InsertResponse.Builder getInsertBuilder() { + return getInsertFieldBuilder().getBuilder(); + } + + /** + * .mongo.InsertResponse insert = 4; + */ + @java.lang.Override + public mongo.Mongo.InsertResponseOrBuilder getInsertOrBuilder() { + if ((responseCase_ == 4) && (insertBuilder_ != null)) { + return insertBuilder_.getMessageOrBuilder(); + } else { + if (responseCase_ == 4) { + return (mongo.Mongo.InsertResponse) response_; + } + return mongo.Mongo.InsertResponse.getDefaultInstance(); + } + } + + /** + * .mongo.InsertResponse insert = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3 getInsertFieldBuilder() { + if (insertBuilder_ == null) { + if (!(responseCase_ == 4)) { + response_ = mongo.Mongo.InsertResponse.getDefaultInstance(); + } + insertBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.InsertResponse) response_, + getParentForChildren(), + isClean()); + response_ = null; + } + responseCase_ = 4; + onChanged(); + ; + return insertBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 readBuilder_; + + /** + * .mongo.ReadResponse read = 5; + * + * @return Whether the read field is set. + */ + @java.lang.Override + public boolean hasRead() { + return responseCase_ == 5; + } + + /** + * .mongo.ReadResponse read = 5; + * + * @return The read. + */ + @java.lang.Override + public mongo.Mongo.ReadResponse getRead() { + if (readBuilder_ == null) { + if (responseCase_ == 5) { + return (mongo.Mongo.ReadResponse) response_; + } + return mongo.Mongo.ReadResponse.getDefaultInstance(); + } else { + if (responseCase_ == 5) { + return readBuilder_.getMessage(); + } + return mongo.Mongo.ReadResponse.getDefaultInstance(); + } + } + + /** + * .mongo.ReadResponse read = 5; + */ + public Builder setRead(mongo.Mongo.ReadResponse value) { + if (readBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + response_ = value; + onChanged(); + } else { + readBuilder_.setMessage(value); + } + responseCase_ = 5; + return this; + } + + /** + * .mongo.ReadResponse read = 5; + */ + public Builder setRead( + mongo.Mongo.ReadResponse.Builder builderForValue) { + if (readBuilder_ == null) { + response_ = builderForValue.build(); + onChanged(); + } else { + readBuilder_.setMessage(builderForValue.build()); + } + responseCase_ = 5; + return this; + } + + /** + * .mongo.ReadResponse read = 5; + */ + public Builder mergeRead(mongo.Mongo.ReadResponse value) { + if (readBuilder_ == null) { + if (responseCase_ == 5 && + response_ != mongo.Mongo.ReadResponse.getDefaultInstance()) { + response_ = mongo.Mongo.ReadResponse.newBuilder((mongo.Mongo.ReadResponse) response_) + .mergeFrom(value).buildPartial(); + } else { + response_ = value; + } + onChanged(); + } else { + if (responseCase_ == 5) { + readBuilder_.mergeFrom(value); + } + readBuilder_.setMessage(value); + } + responseCase_ = 5; + return this; + } + + /** + * .mongo.ReadResponse read = 5; + */ + public Builder clearRead() { + if (readBuilder_ == null) { + if (responseCase_ == 5) { + responseCase_ = 0; + response_ = null; + onChanged(); + } + } else { + if (responseCase_ == 5) { + responseCase_ = 0; + response_ = null; + } + readBuilder_.clear(); + } + return this; + } + + /** + * .mongo.ReadResponse read = 5; + */ + public mongo.Mongo.ReadResponse.Builder getReadBuilder() { + return getReadFieldBuilder().getBuilder(); + } + + /** + * .mongo.ReadResponse read = 5; + */ + @java.lang.Override + public mongo.Mongo.ReadResponseOrBuilder getReadOrBuilder() { + if ((responseCase_ == 5) && (readBuilder_ != null)) { + return readBuilder_.getMessageOrBuilder(); + } else { + if (responseCase_ == 5) { + return (mongo.Mongo.ReadResponse) response_; + } + return mongo.Mongo.ReadResponse.getDefaultInstance(); + } + } + + /** + * .mongo.ReadResponse read = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3 getReadFieldBuilder() { + if (readBuilder_ == null) { + if (!(responseCase_ == 5)) { + response_ = mongo.Mongo.ReadResponse.getDefaultInstance(); + } + readBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.ReadResponse) response_, + getParentForChildren(), + isClean()); + response_ = null; + } + responseCase_ = 5; + onChanged(); + ; + return readBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 scanBuilder_; + + /** + * .mongo.ScanResponse scan = 6; + * + * @return Whether the scan field is set. + */ + @java.lang.Override + public boolean hasScan() { + return responseCase_ == 6; + } + + /** + * .mongo.ScanResponse scan = 6; + * + * @return The scan. + */ + @java.lang.Override + public mongo.Mongo.ScanResponse getScan() { + if (scanBuilder_ == null) { + if (responseCase_ == 6) { + return (mongo.Mongo.ScanResponse) response_; + } + return mongo.Mongo.ScanResponse.getDefaultInstance(); + } else { + if (responseCase_ == 6) { + return scanBuilder_.getMessage(); + } + return mongo.Mongo.ScanResponse.getDefaultInstance(); + } + } + + /** + * .mongo.ScanResponse scan = 6; + */ + public Builder setScan(mongo.Mongo.ScanResponse value) { + if (scanBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + response_ = value; + onChanged(); + } else { + scanBuilder_.setMessage(value); + } + responseCase_ = 6; + return this; + } + + /** + * .mongo.ScanResponse scan = 6; + */ + public Builder setScan( + mongo.Mongo.ScanResponse.Builder builderForValue) { + if (scanBuilder_ == null) { + response_ = builderForValue.build(); + onChanged(); + } else { + scanBuilder_.setMessage(builderForValue.build()); + } + responseCase_ = 6; + return this; + } + + /** + * .mongo.ScanResponse scan = 6; + */ + public Builder mergeScan(mongo.Mongo.ScanResponse value) { + if (scanBuilder_ == null) { + if (responseCase_ == 6 && + response_ != mongo.Mongo.ScanResponse.getDefaultInstance()) { + response_ = mongo.Mongo.ScanResponse.newBuilder((mongo.Mongo.ScanResponse) response_) + .mergeFrom(value).buildPartial(); + } else { + response_ = value; + } + onChanged(); + } else { + if (responseCase_ == 6) { + scanBuilder_.mergeFrom(value); + } + scanBuilder_.setMessage(value); + } + responseCase_ = 6; + return this; + } + + /** + * .mongo.ScanResponse scan = 6; + */ + public Builder clearScan() { + if (scanBuilder_ == null) { + if (responseCase_ == 6) { + responseCase_ = 0; + response_ = null; + onChanged(); + } + } else { + if (responseCase_ == 6) { + responseCase_ = 0; + response_ = null; + } + scanBuilder_.clear(); + } + return this; + } + + /** + * .mongo.ScanResponse scan = 6; + */ + public mongo.Mongo.ScanResponse.Builder getScanBuilder() { + return getScanFieldBuilder().getBuilder(); + } + + /** + * .mongo.ScanResponse scan = 6; + */ + @java.lang.Override + public mongo.Mongo.ScanResponseOrBuilder getScanOrBuilder() { + if ((responseCase_ == 6) && (scanBuilder_ != null)) { + return scanBuilder_.getMessageOrBuilder(); + } else { + if (responseCase_ == 6) { + return (mongo.Mongo.ScanResponse) response_; + } + return mongo.Mongo.ScanResponse.getDefaultInstance(); + } + } + + /** + * .mongo.ScanResponse scan = 6; + */ + private com.google.protobuf.SingleFieldBuilderV3 getScanFieldBuilder() { + if (scanBuilder_ == null) { + if (!(responseCase_ == 6)) { + response_ = mongo.Mongo.ScanResponse.getDefaultInstance(); + } + scanBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.ScanResponse) response_, + getParentForChildren(), + isClean()); + response_ = null; + } + responseCase_ = 6; + onChanged(); + ; + return scanBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3 updateBuilder_; + + /** + * .mongo.UpdateResponse update = 7; + * + * @return Whether the update field is set. + */ + @java.lang.Override + public boolean hasUpdate() { + return responseCase_ == 7; + } + + /** + * .mongo.UpdateResponse update = 7; + * + * @return The update. + */ + @java.lang.Override + public mongo.Mongo.UpdateResponse getUpdate() { + if (updateBuilder_ == null) { + if (responseCase_ == 7) { + return (mongo.Mongo.UpdateResponse) response_; + } + return mongo.Mongo.UpdateResponse.getDefaultInstance(); + } else { + if (responseCase_ == 7) { + return updateBuilder_.getMessage(); + } + return mongo.Mongo.UpdateResponse.getDefaultInstance(); + } + } + + /** + * .mongo.UpdateResponse update = 7; + */ + public Builder setUpdate(mongo.Mongo.UpdateResponse value) { + if (updateBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + response_ = value; + onChanged(); + } else { + updateBuilder_.setMessage(value); + } + responseCase_ = 7; + return this; + } + + /** + * .mongo.UpdateResponse update = 7; + */ + public Builder setUpdate( + mongo.Mongo.UpdateResponse.Builder builderForValue) { + if (updateBuilder_ == null) { + response_ = builderForValue.build(); + onChanged(); + } else { + updateBuilder_.setMessage(builderForValue.build()); + } + responseCase_ = 7; + return this; + } + + /** + * .mongo.UpdateResponse update = 7; + */ + public Builder mergeUpdate(mongo.Mongo.UpdateResponse value) { + if (updateBuilder_ == null) { + if (responseCase_ == 7 && + response_ != mongo.Mongo.UpdateResponse.getDefaultInstance()) { + response_ = mongo.Mongo.UpdateResponse.newBuilder((mongo.Mongo.UpdateResponse) response_) + .mergeFrom(value).buildPartial(); + } else { + response_ = value; + } + onChanged(); + } else { + if (responseCase_ == 7) { + updateBuilder_.mergeFrom(value); + } + updateBuilder_.setMessage(value); + } + responseCase_ = 7; + return this; + } + + /** + * .mongo.UpdateResponse update = 7; + */ + public Builder clearUpdate() { + if (updateBuilder_ == null) { + if (responseCase_ == 7) { + responseCase_ = 0; + response_ = null; + onChanged(); + } + } else { + if (responseCase_ == 7) { + responseCase_ = 0; + response_ = null; + } + updateBuilder_.clear(); + } + return this; + } + + /** + * .mongo.UpdateResponse update = 7; + */ + public mongo.Mongo.UpdateResponse.Builder getUpdateBuilder() { + return getUpdateFieldBuilder().getBuilder(); + } + + /** + * .mongo.UpdateResponse update = 7; + */ + @java.lang.Override + public mongo.Mongo.UpdateResponseOrBuilder getUpdateOrBuilder() { + if ((responseCase_ == 7) && (updateBuilder_ != null)) { + return updateBuilder_.getMessageOrBuilder(); + } else { + if (responseCase_ == 7) { + return (mongo.Mongo.UpdateResponse) response_; + } + return mongo.Mongo.UpdateResponse.getDefaultInstance(); + } + } + + /** + * .mongo.UpdateResponse update = 7; + */ + private com.google.protobuf.SingleFieldBuilderV3 getUpdateFieldBuilder() { + if (updateBuilder_ == null) { + if (!(responseCase_ == 7)) { + response_ = mongo.Mongo.UpdateResponse.getDefaultInstance(); + } + updateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + (mongo.Mongo.UpdateResponse) response_, + getParentForChildren(), + isClean()); + response_ = null; + } + responseCase_ = 7; + onChanged(); + ; + return updateBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.MongoResponse) + } + + // @@protoc_insertion_point(class_scope:mongo.MongoResponse) + private static final mongo.Mongo.MongoResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.MongoResponse(); + } + + public static mongo.Mongo.MongoResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public MongoResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.MongoResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CleanupRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.CleanupRequest) + com.google.protobuf.MessageOrBuilder { + } + + /** + * Protobuf type {@code mongo.CleanupRequest} + */ + public static final class CleanupRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.CleanupRequest) + CleanupRequestOrBuilder { + private static final long serialVersionUID = 0L; + + // Use CleanupRequest.newBuilder() to construct. + private CleanupRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private CleanupRequest() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CleanupRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_CleanupRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_CleanupRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.CleanupRequest.class, mongo.Mongo.CleanupRequest.Builder.class); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.CleanupRequest)) { + return super.equals(obj); + } + mongo.Mongo.CleanupRequest other = (mongo.Mongo.CleanupRequest) obj; + + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.CleanupRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.CleanupRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.CleanupRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.CleanupRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.CleanupRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.CleanupRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.CleanupRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.CleanupRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.CleanupRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.CleanupRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.CleanupRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.CleanupRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.CleanupRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.CleanupRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.CleanupRequest) + mongo.Mongo.CleanupRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_CleanupRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_CleanupRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.CleanupRequest.class, mongo.Mongo.CleanupRequest.Builder.class); + } + + // Construct using mongo.Mongo.CleanupRequest.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_CleanupRequest_descriptor; + } + + @java.lang.Override + public mongo.Mongo.CleanupRequest getDefaultInstanceForType() { + return mongo.Mongo.CleanupRequest.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.CleanupRequest build() { + mongo.Mongo.CleanupRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.CleanupRequest buildPartial() { + mongo.Mongo.CleanupRequest result = new mongo.Mongo.CleanupRequest(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.CleanupRequest) { + return mergeFrom((mongo.Mongo.CleanupRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.CleanupRequest other) { + if (other == mongo.Mongo.CleanupRequest.getDefaultInstance()) + return this; + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.CleanupRequest) + } + + // @@protoc_insertion_point(class_scope:mongo.CleanupRequest) + private static final mongo.Mongo.CleanupRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.CleanupRequest(); + } + + public static mongo.Mongo.CleanupRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CleanupRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.CleanupRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CleanupResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.CleanupResponse) + com.google.protobuf.MessageOrBuilder { + } + + /** + * Protobuf type {@code mongo.CleanupResponse} + */ + public static final class CleanupResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.CleanupResponse) + CleanupResponseOrBuilder { + private static final long serialVersionUID = 0L; + + // Use CleanupResponse.newBuilder() to construct. + private CleanupResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private CleanupResponse() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new CleanupResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_CleanupResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_CleanupResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.CleanupResponse.class, mongo.Mongo.CleanupResponse.Builder.class); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.CleanupResponse)) { + return super.equals(obj); + } + mongo.Mongo.CleanupResponse other = (mongo.Mongo.CleanupResponse) obj; + + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.CleanupResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.CleanupResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.CleanupResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.CleanupResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.CleanupResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.CleanupResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.CleanupResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.CleanupResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.CleanupResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.CleanupResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.CleanupResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.CleanupResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.CleanupResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.CleanupResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.CleanupResponse) + mongo.Mongo.CleanupResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_CleanupResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_CleanupResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.CleanupResponse.class, mongo.Mongo.CleanupResponse.Builder.class); + } + + // Construct using mongo.Mongo.CleanupResponse.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_CleanupResponse_descriptor; + } + + @java.lang.Override + public mongo.Mongo.CleanupResponse getDefaultInstanceForType() { + return mongo.Mongo.CleanupResponse.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.CleanupResponse build() { + mongo.Mongo.CleanupResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.CleanupResponse buildPartial() { + mongo.Mongo.CleanupResponse result = new mongo.Mongo.CleanupResponse(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.CleanupResponse) { + return mergeFrom((mongo.Mongo.CleanupResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.CleanupResponse other) { + if (other == mongo.Mongo.CleanupResponse.getDefaultInstance()) + return this; + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.CleanupResponse) + } + + // @@protoc_insertion_point(class_scope:mongo.CleanupResponse) + private static final mongo.Mongo.CleanupResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.CleanupResponse(); + } + + public static mongo.Mongo.CleanupResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CleanupResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.CleanupResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DeleteRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.DeleteRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * string collection = 1; + * + * @return The collection. + */ + java.lang.String getCollection(); + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + com.google.protobuf.ByteString getCollectionBytes(); + + /** + * string id = 2; + * + * @return The id. + */ + java.lang.String getId(); + + /** + * string id = 2; + * + * @return The bytes for id. + */ + com.google.protobuf.ByteString getIdBytes(); + } + + /** + * Protobuf type {@code mongo.DeleteRequest} + */ + public static final class DeleteRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.DeleteRequest) + DeleteRequestOrBuilder { + private static final long serialVersionUID = 0L; + + // Use DeleteRequest.newBuilder() to construct. + private DeleteRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private DeleteRequest() { + collection_ = ""; + id_ = ""; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new DeleteRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_DeleteRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_DeleteRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.DeleteRequest.class, mongo.Mongo.DeleteRequest.Builder.class); + } + + public static final int COLLECTION_FIELD_NUMBER = 1; + private volatile java.lang.Object collection_; + + /** + * string collection = 1; + * + * @return The collection. + */ + @java.lang.Override + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ID_FIELD_NUMBER = 2; + private volatile java.lang.Object id_; + + /** + * string id = 2; + * + * @return The id. + */ + @java.lang.Override + public java.lang.String getId() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } + } + + /** + * string id = 2; + * + * @return The bytes for id. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, collection_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, id_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, collection_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, id_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.DeleteRequest)) { + return super.equals(obj); + } + mongo.Mongo.DeleteRequest other = (mongo.Mongo.DeleteRequest) obj; + + if (!getCollection() + .equals(other.getCollection())) + return false; + if (!getId() + .equals(other.getId())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + COLLECTION_FIELD_NUMBER; + hash = (53 * hash) + getCollection().hashCode(); + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.DeleteRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.DeleteRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.DeleteRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.DeleteRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.DeleteRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.DeleteRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.DeleteRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.DeleteRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.DeleteRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.DeleteRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.DeleteRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.DeleteRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.DeleteRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.DeleteRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.DeleteRequest) + mongo.Mongo.DeleteRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_DeleteRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_DeleteRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.DeleteRequest.class, mongo.Mongo.DeleteRequest.Builder.class); + } + + // Construct using mongo.Mongo.DeleteRequest.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + collection_ = ""; + + id_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_DeleteRequest_descriptor; + } + + @java.lang.Override + public mongo.Mongo.DeleteRequest getDefaultInstanceForType() { + return mongo.Mongo.DeleteRequest.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.DeleteRequest build() { + mongo.Mongo.DeleteRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.DeleteRequest buildPartial() { + mongo.Mongo.DeleteRequest result = new mongo.Mongo.DeleteRequest(this); + result.collection_ = collection_; + result.id_ = id_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.DeleteRequest) { + return mergeFrom((mongo.Mongo.DeleteRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.DeleteRequest other) { + if (other == mongo.Mongo.DeleteRequest.getDefaultInstance()) + return this; + if (!other.getCollection().isEmpty()) { + collection_ = other.collection_; + onChanged(); + } + if (!other.getId().isEmpty()) { + id_ = other.id_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + collection_ = input.readStringRequireUtf8(); + + break; + } // case 10 + case 18: { + id_ = input.readStringRequireUtf8(); + + break; + } // case 18 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private java.lang.Object collection_ = ""; + + /** + * string collection = 1; + * + * @return The collection. + */ + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string collection = 1; + * + * @param value The collection to set. + * @return This builder for chaining. + */ + public Builder setCollection( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + collection_ = value; + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @return This builder for chaining. + */ + public Builder clearCollection() { + + collection_ = getDefaultInstance().getCollection(); + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @param value The bytes for collection to set. + * @return This builder for chaining. + */ + public Builder setCollectionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + collection_ = value; + onChanged(); + return this; + } + + private java.lang.Object id_ = ""; + + /** + * string id = 2; + * + * @return The id. + */ + public java.lang.String getId() { + java.lang.Object ref = id_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string id = 2; + * + * @return The bytes for id. + */ + public com.google.protobuf.ByteString getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string id = 2; + * + * @param value The id to set. + * @return This builder for chaining. + */ + public Builder setId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + id_ = value; + onChanged(); + return this; + } + + /** + * string id = 2; + * + * @return This builder for chaining. + */ + public Builder clearId() { + + id_ = getDefaultInstance().getId(); + onChanged(); + return this; + } + + /** + * string id = 2; + * + * @param value The bytes for id to set. + * @return This builder for chaining. + */ + public Builder setIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + id_ = value; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.DeleteRequest) + } + + // @@protoc_insertion_point(class_scope:mongo.DeleteRequest) + private static final mongo.Mongo.DeleteRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.DeleteRequest(); + } + + public static mongo.Mongo.DeleteRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeleteRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.DeleteRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DeleteResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.DeleteResponse) + com.google.protobuf.MessageOrBuilder { + } + + /** + * Protobuf type {@code mongo.DeleteResponse} + */ + public static final class DeleteResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.DeleteResponse) + DeleteResponseOrBuilder { + private static final long serialVersionUID = 0L; + + // Use DeleteResponse.newBuilder() to construct. + private DeleteResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private DeleteResponse() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new DeleteResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_DeleteResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_DeleteResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.DeleteResponse.class, mongo.Mongo.DeleteResponse.Builder.class); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.DeleteResponse)) { + return super.equals(obj); + } + mongo.Mongo.DeleteResponse other = (mongo.Mongo.DeleteResponse) obj; + + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.DeleteResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.DeleteResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.DeleteResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.DeleteResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.DeleteResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.DeleteResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.DeleteResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.DeleteResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.DeleteResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.DeleteResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.DeleteResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.DeleteResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.DeleteResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.DeleteResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.DeleteResponse) + mongo.Mongo.DeleteResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_DeleteResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_DeleteResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.DeleteResponse.class, mongo.Mongo.DeleteResponse.Builder.class); + } + + // Construct using mongo.Mongo.DeleteResponse.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_DeleteResponse_descriptor; + } + + @java.lang.Override + public mongo.Mongo.DeleteResponse getDefaultInstanceForType() { + return mongo.Mongo.DeleteResponse.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.DeleteResponse build() { + mongo.Mongo.DeleteResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.DeleteResponse buildPartial() { + mongo.Mongo.DeleteResponse result = new mongo.Mongo.DeleteResponse(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.DeleteResponse) { + return mergeFrom((mongo.Mongo.DeleteResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.DeleteResponse other) { + if (other == mongo.Mongo.DeleteResponse.getDefaultInstance()) + return this; + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.DeleteResponse) + } + + // @@protoc_insertion_point(class_scope:mongo.DeleteResponse) + private static final mongo.Mongo.DeleteResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.DeleteResponse(); + } + + public static mongo.Mongo.DeleteResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeleteResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.DeleteResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface InsertRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.InsertRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * string collection = 1; + * + * @return The collection. + */ + java.lang.String getCollection(); + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + com.google.protobuf.ByteString getCollectionBytes(); + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + java.util.List getDocumentsList(); + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + mongo.Mongo.BSONDocument getDocuments(int index); + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + int getDocumentsCount(); + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + java.util.List getDocumentsOrBuilderList(); + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + mongo.Mongo.BSONDocumentOrBuilder getDocumentsOrBuilder( + int index); + } + + /** + * Protobuf type {@code mongo.InsertRequest} + */ + public static final class InsertRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.InsertRequest) + InsertRequestOrBuilder { + private static final long serialVersionUID = 0L; + + // Use InsertRequest.newBuilder() to construct. + private InsertRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private InsertRequest() { + collection_ = ""; + documents_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new InsertRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_InsertRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_InsertRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.InsertRequest.class, mongo.Mongo.InsertRequest.Builder.class); + } + + public static final int COLLECTION_FIELD_NUMBER = 1; + private volatile java.lang.Object collection_; + + /** + * string collection = 1; + * + * @return The collection. + */ + @java.lang.Override + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DOCUMENTS_FIELD_NUMBER = 2; + private java.util.List documents_; + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + @java.lang.Override + public java.util.List getDocumentsList() { + return documents_; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + @java.lang.Override + public java.util.List getDocumentsOrBuilderList() { + return documents_; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + @java.lang.Override + public int getDocumentsCount() { + return documents_.size(); + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + @java.lang.Override + public mongo.Mongo.BSONDocument getDocuments(int index) { + return documents_.get(index); + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + @java.lang.Override + public mongo.Mongo.BSONDocumentOrBuilder getDocumentsOrBuilder( + int index) { + return documents_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, collection_); + } + for (int i = 0; i < documents_.size(); i++) { + output.writeMessage(2, documents_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, collection_); + } + for (int i = 0; i < documents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, documents_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.InsertRequest)) { + return super.equals(obj); + } + mongo.Mongo.InsertRequest other = (mongo.Mongo.InsertRequest) obj; + + if (!getCollection() + .equals(other.getCollection())) + return false; + if (!getDocumentsList() + .equals(other.getDocumentsList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + COLLECTION_FIELD_NUMBER; + hash = (53 * hash) + getCollection().hashCode(); + if (getDocumentsCount() > 0) { + hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getDocumentsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.InsertRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.InsertRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.InsertRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.InsertRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.InsertRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.InsertRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.InsertRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.InsertRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.InsertRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.InsertRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.InsertRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.InsertRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.InsertRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.InsertRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.InsertRequest) + mongo.Mongo.InsertRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_InsertRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_InsertRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.InsertRequest.class, mongo.Mongo.InsertRequest.Builder.class); + } + + // Construct using mongo.Mongo.InsertRequest.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + collection_ = ""; + + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + } else { + documents_ = null; + documentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_InsertRequest_descriptor; + } + + @java.lang.Override + public mongo.Mongo.InsertRequest getDefaultInstanceForType() { + return mongo.Mongo.InsertRequest.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.InsertRequest build() { + mongo.Mongo.InsertRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.InsertRequest buildPartial() { + mongo.Mongo.InsertRequest result = new mongo.Mongo.InsertRequest(this); + int from_bitField0_ = bitField0_; + result.collection_ = collection_; + if (documentsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + documents_ = java.util.Collections.unmodifiableList(documents_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.documents_ = documents_; + } else { + result.documents_ = documentsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.InsertRequest) { + return mergeFrom((mongo.Mongo.InsertRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.InsertRequest other) { + if (other == mongo.Mongo.InsertRequest.getDefaultInstance()) + return this; + if (!other.getCollection().isEmpty()) { + collection_ = other.collection_; + onChanged(); + } + if (documentsBuilder_ == null) { + if (!other.documents_.isEmpty()) { + if (documents_.isEmpty()) { + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureDocumentsIsMutable(); + documents_.addAll(other.documents_); + } + onChanged(); + } + } else { + if (!other.documents_.isEmpty()) { + if (documentsBuilder_.isEmpty()) { + documentsBuilder_.dispose(); + documentsBuilder_ = null; + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000001); + documentsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders + ? getDocumentsFieldBuilder() + : null; + } else { + documentsBuilder_.addAllMessages(other.documents_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + collection_ = input.readStringRequireUtf8(); + + break; + } // case 10 + case 18: { + mongo.Mongo.BSONDocument m = input.readMessage( + mongo.Mongo.BSONDocument.parser(), + extensionRegistry); + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(m); + } else { + documentsBuilder_.addMessage(m); + } + break; + } // case 18 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object collection_ = ""; + + /** + * string collection = 1; + * + * @return The collection. + */ + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string collection = 1; + * + * @param value The collection to set. + * @return This builder for chaining. + */ + public Builder setCollection( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + collection_ = value; + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @return This builder for chaining. + */ + public Builder clearCollection() { + + collection_ = getDefaultInstance().getCollection(); + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @param value The bytes for collection to set. + * @return This builder for chaining. + */ + public Builder setCollectionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + collection_ = value; + onChanged(); + return this; + } + + private java.util.List documents_ = java.util.Collections.emptyList(); + + private void ensureDocumentsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + documents_ = new java.util.ArrayList(documents_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3 documentsBuilder_; + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public java.util.List getDocumentsList() { + if (documentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(documents_); + } else { + return documentsBuilder_.getMessageList(); + } + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public int getDocumentsCount() { + if (documentsBuilder_ == null) { + return documents_.size(); + } else { + return documentsBuilder_.getCount(); + } + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public mongo.Mongo.BSONDocument getDocuments(int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); + } else { + return documentsBuilder_.getMessage(index); + } + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public Builder setDocuments( + int index, mongo.Mongo.BSONDocument value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.set(index, value); + onChanged(); + } else { + documentsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public Builder setDocuments( + int index, mongo.Mongo.BSONDocument.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.set(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public Builder addDocuments(mongo.Mongo.BSONDocument value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(value); + onChanged(); + } else { + documentsBuilder_.addMessage(value); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public Builder addDocuments( + int index, mongo.Mongo.BSONDocument value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(index, value); + onChanged(); + } else { + documentsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public Builder addDocuments( + mongo.Mongo.BSONDocument.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public Builder addDocuments( + int index, mongo.Mongo.BSONDocument.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public Builder addAllDocuments( + java.lang.Iterable values) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, documents_); + onChanged(); + } else { + documentsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public Builder clearDocuments() { + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + documentsBuilder_.clear(); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public Builder removeDocuments(int index) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.remove(index); + onChanged(); + } else { + documentsBuilder_.remove(index); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public mongo.Mongo.BSONDocument.Builder getDocumentsBuilder( + int index) { + return getDocumentsFieldBuilder().getBuilder(index); + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public mongo.Mongo.BSONDocumentOrBuilder getDocumentsOrBuilder( + int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); + } else { + return documentsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public java.util.List getDocumentsOrBuilderList() { + if (documentsBuilder_ != null) { + return documentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(documents_); + } + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public mongo.Mongo.BSONDocument.Builder addDocumentsBuilder() { + return getDocumentsFieldBuilder().addBuilder( + mongo.Mongo.BSONDocument.getDefaultInstance()); + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public mongo.Mongo.BSONDocument.Builder addDocumentsBuilder( + int index) { + return getDocumentsFieldBuilder().addBuilder( + index, mongo.Mongo.BSONDocument.getDefaultInstance()); + } + + /** + * repeated .mongo.BSONDocument documents = 2; + */ + public java.util.List getDocumentsBuilderList() { + return getDocumentsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3 getDocumentsFieldBuilder() { + if (documentsBuilder_ == null) { + documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3( + documents_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + documents_ = null; + } + return documentsBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.InsertRequest) + } + + // @@protoc_insertion_point(class_scope:mongo.InsertRequest) + private static final mongo.Mongo.InsertRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.InsertRequest(); + } + + public static mongo.Mongo.InsertRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public InsertRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.InsertRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface BSONDocumentOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.BSONDocument) + com.google.protobuf.MessageOrBuilder { + + /** + * bytes data = 1; + * + * @return The data. + */ + com.google.protobuf.ByteString getData(); + } + + /** + * Protobuf type {@code mongo.BSONDocument} + */ + public static final class BSONDocument extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.BSONDocument) + BSONDocumentOrBuilder { + private static final long serialVersionUID = 0L; + + // Use BSONDocument.newBuilder() to construct. + private BSONDocument(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private BSONDocument() { + data_ = com.google.protobuf.ByteString.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new BSONDocument(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_BSONDocument_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_BSONDocument_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.BSONDocument.class, mongo.Mongo.BSONDocument.Builder.class); + } + + public static final int DATA_FIELD_NUMBER = 1; + private com.google.protobuf.ByteString data_; + + /** + * bytes data = 1; + * + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!data_.isEmpty()) { + output.writeBytes(1, data_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + if (!data_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.BSONDocument)) { + return super.equals(obj); + } + mongo.Mongo.BSONDocument other = (mongo.Mongo.BSONDocument) obj; + + if (!getData() + .equals(other.getData())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + DATA_FIELD_NUMBER; + hash = (53 * hash) + getData().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.BSONDocument parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.BSONDocument parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.BSONDocument parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.BSONDocument parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.BSONDocument parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.BSONDocument parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.BSONDocument parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.BSONDocument parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.BSONDocument parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.BSONDocument parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.BSONDocument parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.BSONDocument parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.BSONDocument prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.BSONDocument} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.BSONDocument) + mongo.Mongo.BSONDocumentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_BSONDocument_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_BSONDocument_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.BSONDocument.class, mongo.Mongo.BSONDocument.Builder.class); + } + + // Construct using mongo.Mongo.BSONDocument.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + data_ = com.google.protobuf.ByteString.EMPTY; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_BSONDocument_descriptor; + } + + @java.lang.Override + public mongo.Mongo.BSONDocument getDefaultInstanceForType() { + return mongo.Mongo.BSONDocument.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.BSONDocument build() { + mongo.Mongo.BSONDocument result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.BSONDocument buildPartial() { + mongo.Mongo.BSONDocument result = new mongo.Mongo.BSONDocument(this); + result.data_ = data_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.BSONDocument) { + return mergeFrom((mongo.Mongo.BSONDocument) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.BSONDocument other) { + if (other == mongo.Mongo.BSONDocument.getDefaultInstance()) + return this; + if (other.getData() != com.google.protobuf.ByteString.EMPTY) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + data_ = input.readBytes(); + + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + + /** + * bytes data = 1; + * + * @return The data. + */ + @java.lang.Override + public com.google.protobuf.ByteString getData() { + return data_; + } + + /** + * bytes data = 1; + * + * @param value The data to set. + * @return This builder for chaining. + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + onChanged(); + return this; + } + + /** + * bytes data = 1; + * + * @return This builder for chaining. + */ + public Builder clearData() { + + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.BSONDocument) + } + + // @@protoc_insertion_point(class_scope:mongo.BSONDocument) + private static final mongo.Mongo.BSONDocument DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.BSONDocument(); + } + + public static mongo.Mongo.BSONDocument getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public BSONDocument parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.BSONDocument getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface InsertResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.InsertResponse) + com.google.protobuf.MessageOrBuilder { + } + + /** + * Protobuf type {@code mongo.InsertResponse} + */ + public static final class InsertResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.InsertResponse) + InsertResponseOrBuilder { + private static final long serialVersionUID = 0L; + + // Use InsertResponse.newBuilder() to construct. + private InsertResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private InsertResponse() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new InsertResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_InsertResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_InsertResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.InsertResponse.class, mongo.Mongo.InsertResponse.Builder.class); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.InsertResponse)) { + return super.equals(obj); + } + mongo.Mongo.InsertResponse other = (mongo.Mongo.InsertResponse) obj; + + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.InsertResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.InsertResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.InsertResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.InsertResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.InsertResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.InsertResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.InsertResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.InsertResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.InsertResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.InsertResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.InsertResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.InsertResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.InsertResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.InsertResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.InsertResponse) + mongo.Mongo.InsertResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_InsertResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_InsertResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.InsertResponse.class, mongo.Mongo.InsertResponse.Builder.class); + } + + // Construct using mongo.Mongo.InsertResponse.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_InsertResponse_descriptor; + } + + @java.lang.Override + public mongo.Mongo.InsertResponse getDefaultInstanceForType() { + return mongo.Mongo.InsertResponse.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.InsertResponse build() { + mongo.Mongo.InsertResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.InsertResponse buildPartial() { + mongo.Mongo.InsertResponse result = new mongo.Mongo.InsertResponse(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.InsertResponse) { + return mergeFrom((mongo.Mongo.InsertResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.InsertResponse other) { + if (other == mongo.Mongo.InsertResponse.getDefaultInstance()) + return this; + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.InsertResponse) + } + + // @@protoc_insertion_point(class_scope:mongo.InsertResponse) + private static final mongo.Mongo.InsertResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.InsertResponse(); + } + + public static mongo.Mongo.InsertResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public InsertResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.InsertResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ReadRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.ReadRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * string collection = 1; + * + * @return The collection. + */ + java.lang.String getCollection(); + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + com.google.protobuf.ByteString getCollectionBytes(); + + /** + * string id = 2; + * + * @return The id. + */ + java.lang.String getId(); + + /** + * string id = 2; + * + * @return The bytes for id. + */ + com.google.protobuf.ByteString getIdBytes(); + + /** + * repeated string fields = 3; + * + * @return A list containing the fields. + */ + java.util.List getFieldsList(); + + /** + * repeated string fields = 3; + * + * @return The count of fields. + */ + int getFieldsCount(); + + /** + * repeated string fields = 3; + * + * @param index The index of the element to return. + * @return The fields at the given index. + */ + java.lang.String getFields(int index); + + /** + * repeated string fields = 3; + * + * @param index The index of the value to return. + * @return The bytes of the fields at the given index. + */ + com.google.protobuf.ByteString getFieldsBytes(int index); + } + + /** + * Protobuf type {@code mongo.ReadRequest} + */ + public static final class ReadRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.ReadRequest) + ReadRequestOrBuilder { + private static final long serialVersionUID = 0L; + + // Use ReadRequest.newBuilder() to construct. + private ReadRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ReadRequest() { + collection_ = ""; + id_ = ""; + fields_ = com.google.protobuf.LazyStringArrayList.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ReadRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_ReadRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_ReadRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.ReadRequest.class, mongo.Mongo.ReadRequest.Builder.class); + } + + public static final int COLLECTION_FIELD_NUMBER = 1; + private volatile java.lang.Object collection_; + + /** + * string collection = 1; + * + * @return The collection. + */ + @java.lang.Override + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ID_FIELD_NUMBER = 2; + private volatile java.lang.Object id_; + + /** + * string id = 2; + * + * @return The id. + */ + @java.lang.Override + public java.lang.String getId() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } + } + + /** + * string id = 2; + * + * @return The bytes for id. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FIELDS_FIELD_NUMBER = 3; + private com.google.protobuf.LazyStringList fields_; + + /** + * repeated string fields = 3; + * + * @return A list containing the fields. + */ + public com.google.protobuf.ProtocolStringList getFieldsList() { + return fields_; + } + + /** + * repeated string fields = 3; + * + * @return The count of fields. + */ + public int getFieldsCount() { + return fields_.size(); + } + + /** + * repeated string fields = 3; + * + * @param index The index of the element to return. + * @return The fields at the given index. + */ + public java.lang.String getFields(int index) { + return fields_.get(index); + } + + /** + * repeated string fields = 3; + * + * @param index The index of the value to return. + * @return The bytes of the fields at the given index. + */ + public com.google.protobuf.ByteString getFieldsBytes(int index) { + return fields_.getByteString(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, collection_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, id_); + } + for (int i = 0; i < fields_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, fields_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, collection_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, id_); + } + { + int dataSize = 0; + for (int i = 0; i < fields_.size(); i++) { + dataSize += computeStringSizeNoTag(fields_.getRaw(i)); + } + size += dataSize; + size += 1 * getFieldsList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.ReadRequest)) { + return super.equals(obj); + } + mongo.Mongo.ReadRequest other = (mongo.Mongo.ReadRequest) obj; + + if (!getCollection() + .equals(other.getCollection())) + return false; + if (!getId() + .equals(other.getId())) + return false; + if (!getFieldsList() + .equals(other.getFieldsList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + COLLECTION_FIELD_NUMBER; + hash = (53 * hash) + getCollection().hashCode(); + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId().hashCode(); + if (getFieldsCount() > 0) { + hash = (37 * hash) + FIELDS_FIELD_NUMBER; + hash = (53 * hash) + getFieldsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.ReadRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ReadRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ReadRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ReadRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ReadRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ReadRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ReadRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.ReadRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.ReadRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.ReadRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.ReadRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.ReadRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.ReadRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.ReadRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.ReadRequest) + mongo.Mongo.ReadRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_ReadRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_ReadRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.ReadRequest.class, mongo.Mongo.ReadRequest.Builder.class); + } + + // Construct using mongo.Mongo.ReadRequest.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + collection_ = ""; + + id_ = ""; + + fields_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_ReadRequest_descriptor; + } + + @java.lang.Override + public mongo.Mongo.ReadRequest getDefaultInstanceForType() { + return mongo.Mongo.ReadRequest.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.ReadRequest build() { + mongo.Mongo.ReadRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.ReadRequest buildPartial() { + mongo.Mongo.ReadRequest result = new mongo.Mongo.ReadRequest(this); + int from_bitField0_ = bitField0_; + result.collection_ = collection_; + result.id_ = id_; + if (((bitField0_ & 0x00000001) != 0)) { + fields_ = fields_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.fields_ = fields_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.ReadRequest) { + return mergeFrom((mongo.Mongo.ReadRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.ReadRequest other) { + if (other == mongo.Mongo.ReadRequest.getDefaultInstance()) + return this; + if (!other.getCollection().isEmpty()) { + collection_ = other.collection_; + onChanged(); + } + if (!other.getId().isEmpty()) { + id_ = other.id_; + onChanged(); + } + if (!other.fields_.isEmpty()) { + if (fields_.isEmpty()) { + fields_ = other.fields_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureFieldsIsMutable(); + fields_.addAll(other.fields_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + collection_ = input.readStringRequireUtf8(); + + break; + } // case 10 + case 18: { + id_ = input.readStringRequireUtf8(); + + break; + } // case 18 + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + ensureFieldsIsMutable(); + fields_.add(s); + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object collection_ = ""; + + /** + * string collection = 1; + * + * @return The collection. + */ + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string collection = 1; + * + * @param value The collection to set. + * @return This builder for chaining. + */ + public Builder setCollection( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + collection_ = value; + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @return This builder for chaining. + */ + public Builder clearCollection() { + + collection_ = getDefaultInstance().getCollection(); + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @param value The bytes for collection to set. + * @return This builder for chaining. + */ + public Builder setCollectionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + collection_ = value; + onChanged(); + return this; + } + + private java.lang.Object id_ = ""; + + /** + * string id = 2; + * + * @return The id. + */ + public java.lang.String getId() { + java.lang.Object ref = id_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string id = 2; + * + * @return The bytes for id. + */ + public com.google.protobuf.ByteString getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string id = 2; + * + * @param value The id to set. + * @return This builder for chaining. + */ + public Builder setId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + id_ = value; + onChanged(); + return this; + } + + /** + * string id = 2; + * + * @return This builder for chaining. + */ + public Builder clearId() { + + id_ = getDefaultInstance().getId(); + onChanged(); + return this; + } + + /** + * string id = 2; + * + * @param value The bytes for id to set. + * @return This builder for chaining. + */ + public Builder setIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + id_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringList fields_ = com.google.protobuf.LazyStringArrayList.EMPTY; + + private void ensureFieldsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + fields_ = new com.google.protobuf.LazyStringArrayList(fields_); + bitField0_ |= 0x00000001; + } + } + + /** + * repeated string fields = 3; + * + * @return A list containing the fields. + */ + public com.google.protobuf.ProtocolStringList getFieldsList() { + return fields_.getUnmodifiableView(); + } + + /** + * repeated string fields = 3; + * + * @return The count of fields. + */ + public int getFieldsCount() { + return fields_.size(); + } + + /** + * repeated string fields = 3; + * + * @param index The index of the element to return. + * @return The fields at the given index. + */ + public java.lang.String getFields(int index) { + return fields_.get(index); + } + + /** + * repeated string fields = 3; + * + * @param index The index of the value to return. + * @return The bytes of the fields at the given index. + */ + public com.google.protobuf.ByteString getFieldsBytes(int index) { + return fields_.getByteString(index); + } + + /** + * repeated string fields = 3; + * + * @param index The index to set the value at. + * @param value The fields to set. + * @return This builder for chaining. + */ + public Builder setFields( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureFieldsIsMutable(); + fields_.set(index, value); + onChanged(); + return this; + } + + /** + * repeated string fields = 3; + * + * @param value The fields to add. + * @return This builder for chaining. + */ + public Builder addFields( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureFieldsIsMutable(); + fields_.add(value); + onChanged(); + return this; + } + + /** + * repeated string fields = 3; + * + * @param values The fields to add. + * @return This builder for chaining. + */ + public Builder addAllFields( + java.lang.Iterable values) { + ensureFieldsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, fields_); + onChanged(); + return this; + } + + /** + * repeated string fields = 3; + * + * @return This builder for chaining. + */ + public Builder clearFields() { + fields_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * repeated string fields = 3; + * + * @param value The bytes of the fields to add. + * @return This builder for chaining. + */ + public Builder addFieldsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureFieldsIsMutable(); + fields_.add(value); + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.ReadRequest) + } + + // @@protoc_insertion_point(class_scope:mongo.ReadRequest) + private static final mongo.Mongo.ReadRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.ReadRequest(); + } + + public static mongo.Mongo.ReadRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ReadRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.ReadRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ReadResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.ReadResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * .mongo.BSONDocument document = 1; + * + * @return Whether the document field is set. + */ + boolean hasDocument(); + + /** + * .mongo.BSONDocument document = 1; + * + * @return The document. + */ + mongo.Mongo.BSONDocument getDocument(); + + /** + * .mongo.BSONDocument document = 1; + */ + mongo.Mongo.BSONDocumentOrBuilder getDocumentOrBuilder(); + } + + /** + * Protobuf type {@code mongo.ReadResponse} + */ + public static final class ReadResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.ReadResponse) + ReadResponseOrBuilder { + private static final long serialVersionUID = 0L; + + // Use ReadResponse.newBuilder() to construct. + private ReadResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ReadResponse() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ReadResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_ReadResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_ReadResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.ReadResponse.class, mongo.Mongo.ReadResponse.Builder.class); + } + + public static final int DOCUMENT_FIELD_NUMBER = 1; + private mongo.Mongo.BSONDocument document_; + + /** + * .mongo.BSONDocument document = 1; + * + * @return Whether the document field is set. + */ + @java.lang.Override + public boolean hasDocument() { + return document_ != null; + } + + /** + * .mongo.BSONDocument document = 1; + * + * @return The document. + */ + @java.lang.Override + public mongo.Mongo.BSONDocument getDocument() { + return document_ == null ? mongo.Mongo.BSONDocument.getDefaultInstance() : document_; + } + + /** + * .mongo.BSONDocument document = 1; + */ + @java.lang.Override + public mongo.Mongo.BSONDocumentOrBuilder getDocumentOrBuilder() { + return getDocument(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (document_ != null) { + output.writeMessage(1, getDocument()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + if (document_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getDocument()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.ReadResponse)) { + return super.equals(obj); + } + mongo.Mongo.ReadResponse other = (mongo.Mongo.ReadResponse) obj; + + if (hasDocument() != other.hasDocument()) + return false; + if (hasDocument()) { + if (!getDocument() + .equals(other.getDocument())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasDocument()) { + hash = (37 * hash) + DOCUMENT_FIELD_NUMBER; + hash = (53 * hash) + getDocument().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.ReadResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ReadResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ReadResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ReadResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ReadResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ReadResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ReadResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.ReadResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.ReadResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.ReadResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.ReadResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.ReadResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.ReadResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.ReadResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.ReadResponse) + mongo.Mongo.ReadResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_ReadResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_ReadResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.ReadResponse.class, mongo.Mongo.ReadResponse.Builder.class); + } + + // Construct using mongo.Mongo.ReadResponse.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (documentBuilder_ == null) { + document_ = null; + } else { + document_ = null; + documentBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_ReadResponse_descriptor; + } + + @java.lang.Override + public mongo.Mongo.ReadResponse getDefaultInstanceForType() { + return mongo.Mongo.ReadResponse.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.ReadResponse build() { + mongo.Mongo.ReadResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.ReadResponse buildPartial() { + mongo.Mongo.ReadResponse result = new mongo.Mongo.ReadResponse(this); + if (documentBuilder_ == null) { + result.document_ = document_; + } else { + result.document_ = documentBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.ReadResponse) { + return mergeFrom((mongo.Mongo.ReadResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.ReadResponse other) { + if (other == mongo.Mongo.ReadResponse.getDefaultInstance()) + return this; + if (other.hasDocument()) { + mergeDocument(other.getDocument()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + input.readMessage( + getDocumentFieldBuilder().getBuilder(), + extensionRegistry); + + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private mongo.Mongo.BSONDocument document_; + private com.google.protobuf.SingleFieldBuilderV3 documentBuilder_; + + /** + * .mongo.BSONDocument document = 1; + * + * @return Whether the document field is set. + */ + public boolean hasDocument() { + return documentBuilder_ != null || document_ != null; + } + + /** + * .mongo.BSONDocument document = 1; + * + * @return The document. + */ + public mongo.Mongo.BSONDocument getDocument() { + if (documentBuilder_ == null) { + return document_ == null ? mongo.Mongo.BSONDocument.getDefaultInstance() : document_; + } else { + return documentBuilder_.getMessage(); + } + } + + /** + * .mongo.BSONDocument document = 1; + */ + public Builder setDocument(mongo.Mongo.BSONDocument value) { + if (documentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + document_ = value; + onChanged(); + } else { + documentBuilder_.setMessage(value); + } + + return this; + } + + /** + * .mongo.BSONDocument document = 1; + */ + public Builder setDocument( + mongo.Mongo.BSONDocument.Builder builderForValue) { + if (documentBuilder_ == null) { + document_ = builderForValue.build(); + onChanged(); + } else { + documentBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + + /** + * .mongo.BSONDocument document = 1; + */ + public Builder mergeDocument(mongo.Mongo.BSONDocument value) { + if (documentBuilder_ == null) { + if (document_ != null) { + document_ = mongo.Mongo.BSONDocument.newBuilder(document_).mergeFrom(value).buildPartial(); + } else { + document_ = value; + } + onChanged(); + } else { + documentBuilder_.mergeFrom(value); + } + + return this; + } + + /** + * .mongo.BSONDocument document = 1; + */ + public Builder clearDocument() { + if (documentBuilder_ == null) { + document_ = null; + onChanged(); + } else { + document_ = null; + documentBuilder_ = null; + } + + return this; + } + + /** + * .mongo.BSONDocument document = 1; + */ + public mongo.Mongo.BSONDocument.Builder getDocumentBuilder() { + + onChanged(); + return getDocumentFieldBuilder().getBuilder(); + } + + /** + * .mongo.BSONDocument document = 1; + */ + public mongo.Mongo.BSONDocumentOrBuilder getDocumentOrBuilder() { + if (documentBuilder_ != null) { + return documentBuilder_.getMessageOrBuilder(); + } else { + return document_ == null ? mongo.Mongo.BSONDocument.getDefaultInstance() : document_; + } + } + + /** + * .mongo.BSONDocument document = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3 getDocumentFieldBuilder() { + if (documentBuilder_ == null) { + documentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + getDocument(), + getParentForChildren(), + isClean()); + document_ = null; + } + return documentBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.ReadResponse) + } + + // @@protoc_insertion_point(class_scope:mongo.ReadResponse) + private static final mongo.Mongo.ReadResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.ReadResponse(); + } + + public static mongo.Mongo.ReadResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ReadResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.ReadResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ScanRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.ScanRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * string collection = 1; + * + * @return The collection. + */ + java.lang.String getCollection(); + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + com.google.protobuf.ByteString getCollectionBytes(); + + /** + * string startkey = 2; + * + * @return The startkey. + */ + java.lang.String getStartkey(); + + /** + * string startkey = 2; + * + * @return The bytes for startkey. + */ + com.google.protobuf.ByteString getStartkeyBytes(); + + /** + * int32 recordcount = 3; + * + * @return The recordcount. + */ + int getRecordcount(); + + /** + * repeated string fields = 4; + * + * @return A list containing the fields. + */ + java.util.List getFieldsList(); + + /** + * repeated string fields = 4; + * + * @return The count of fields. + */ + int getFieldsCount(); + + /** + * repeated string fields = 4; + * + * @param index The index of the element to return. + * @return The fields at the given index. + */ + java.lang.String getFields(int index); + + /** + * repeated string fields = 4; + * + * @param index The index of the value to return. + * @return The bytes of the fields at the given index. + */ + com.google.protobuf.ByteString getFieldsBytes(int index); + } + + /** + * Protobuf type {@code mongo.ScanRequest} + */ + public static final class ScanRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.ScanRequest) + ScanRequestOrBuilder { + private static final long serialVersionUID = 0L; + + // Use ScanRequest.newBuilder() to construct. + private ScanRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ScanRequest() { + collection_ = ""; + startkey_ = ""; + fields_ = com.google.protobuf.LazyStringArrayList.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ScanRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_ScanRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_ScanRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.ScanRequest.class, mongo.Mongo.ScanRequest.Builder.class); + } + + public static final int COLLECTION_FIELD_NUMBER = 1; + private volatile java.lang.Object collection_; + + /** + * string collection = 1; + * + * @return The collection. + */ + @java.lang.Override + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int STARTKEY_FIELD_NUMBER = 2; + private volatile java.lang.Object startkey_; + + /** + * string startkey = 2; + * + * @return The startkey. + */ + @java.lang.Override + public java.lang.String getStartkey() { + java.lang.Object ref = startkey_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + startkey_ = s; + return s; + } + } + + /** + * string startkey = 2; + * + * @return The bytes for startkey. + */ + @java.lang.Override + public com.google.protobuf.ByteString getStartkeyBytes() { + java.lang.Object ref = startkey_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + startkey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RECORDCOUNT_FIELD_NUMBER = 3; + private int recordcount_; + + /** + * int32 recordcount = 3; + * + * @return The recordcount. + */ + @java.lang.Override + public int getRecordcount() { + return recordcount_; + } + + public static final int FIELDS_FIELD_NUMBER = 4; + private com.google.protobuf.LazyStringList fields_; + + /** + * repeated string fields = 4; + * + * @return A list containing the fields. + */ + public com.google.protobuf.ProtocolStringList getFieldsList() { + return fields_; + } + + /** + * repeated string fields = 4; + * + * @return The count of fields. + */ + public int getFieldsCount() { + return fields_.size(); + } + + /** + * repeated string fields = 4; + * + * @param index The index of the element to return. + * @return The fields at the given index. + */ + public java.lang.String getFields(int index) { + return fields_.get(index); + } + + /** + * repeated string fields = 4; + * + * @param index The index of the value to return. + * @return The bytes of the fields at the given index. + */ + public com.google.protobuf.ByteString getFieldsBytes(int index) { + return fields_.getByteString(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, collection_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(startkey_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, startkey_); + } + if (recordcount_ != 0) { + output.writeInt32(3, recordcount_); + } + for (int i = 0; i < fields_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, fields_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, collection_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(startkey_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, startkey_); + } + if (recordcount_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, recordcount_); + } + { + int dataSize = 0; + for (int i = 0; i < fields_.size(); i++) { + dataSize += computeStringSizeNoTag(fields_.getRaw(i)); + } + size += dataSize; + size += 1 * getFieldsList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.ScanRequest)) { + return super.equals(obj); + } + mongo.Mongo.ScanRequest other = (mongo.Mongo.ScanRequest) obj; + + if (!getCollection() + .equals(other.getCollection())) + return false; + if (!getStartkey() + .equals(other.getStartkey())) + return false; + if (getRecordcount() != other.getRecordcount()) + return false; + if (!getFieldsList() + .equals(other.getFieldsList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + COLLECTION_FIELD_NUMBER; + hash = (53 * hash) + getCollection().hashCode(); + hash = (37 * hash) + STARTKEY_FIELD_NUMBER; + hash = (53 * hash) + getStartkey().hashCode(); + hash = (37 * hash) + RECORDCOUNT_FIELD_NUMBER; + hash = (53 * hash) + getRecordcount(); + if (getFieldsCount() > 0) { + hash = (37 * hash) + FIELDS_FIELD_NUMBER; + hash = (53 * hash) + getFieldsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.ScanRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ScanRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ScanRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ScanRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ScanRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ScanRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ScanRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.ScanRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.ScanRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.ScanRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.ScanRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.ScanRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.ScanRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.ScanRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.ScanRequest) + mongo.Mongo.ScanRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_ScanRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_ScanRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.ScanRequest.class, mongo.Mongo.ScanRequest.Builder.class); + } + + // Construct using mongo.Mongo.ScanRequest.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + collection_ = ""; + + startkey_ = ""; + + recordcount_ = 0; + + fields_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_ScanRequest_descriptor; + } + + @java.lang.Override + public mongo.Mongo.ScanRequest getDefaultInstanceForType() { + return mongo.Mongo.ScanRequest.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.ScanRequest build() { + mongo.Mongo.ScanRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.ScanRequest buildPartial() { + mongo.Mongo.ScanRequest result = new mongo.Mongo.ScanRequest(this); + int from_bitField0_ = bitField0_; + result.collection_ = collection_; + result.startkey_ = startkey_; + result.recordcount_ = recordcount_; + if (((bitField0_ & 0x00000001) != 0)) { + fields_ = fields_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.fields_ = fields_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.ScanRequest) { + return mergeFrom((mongo.Mongo.ScanRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.ScanRequest other) { + if (other == mongo.Mongo.ScanRequest.getDefaultInstance()) + return this; + if (!other.getCollection().isEmpty()) { + collection_ = other.collection_; + onChanged(); + } + if (!other.getStartkey().isEmpty()) { + startkey_ = other.startkey_; + onChanged(); + } + if (other.getRecordcount() != 0) { + setRecordcount(other.getRecordcount()); + } + if (!other.fields_.isEmpty()) { + if (fields_.isEmpty()) { + fields_ = other.fields_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureFieldsIsMutable(); + fields_.addAll(other.fields_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + collection_ = input.readStringRequireUtf8(); + + break; + } // case 10 + case 18: { + startkey_ = input.readStringRequireUtf8(); + + break; + } // case 18 + case 24: { + recordcount_ = input.readInt32(); + + break; + } // case 24 + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + ensureFieldsIsMutable(); + fields_.add(s); + break; + } // case 34 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object collection_ = ""; + + /** + * string collection = 1; + * + * @return The collection. + */ + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string collection = 1; + * + * @param value The collection to set. + * @return This builder for chaining. + */ + public Builder setCollection( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + collection_ = value; + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @return This builder for chaining. + */ + public Builder clearCollection() { + + collection_ = getDefaultInstance().getCollection(); + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @param value The bytes for collection to set. + * @return This builder for chaining. + */ + public Builder setCollectionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + collection_ = value; + onChanged(); + return this; + } + + private java.lang.Object startkey_ = ""; + + /** + * string startkey = 2; + * + * @return The startkey. + */ + public java.lang.String getStartkey() { + java.lang.Object ref = startkey_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + startkey_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string startkey = 2; + * + * @return The bytes for startkey. + */ + public com.google.protobuf.ByteString getStartkeyBytes() { + java.lang.Object ref = startkey_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + startkey_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string startkey = 2; + * + * @param value The startkey to set. + * @return This builder for chaining. + */ + public Builder setStartkey( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + startkey_ = value; + onChanged(); + return this; + } + + /** + * string startkey = 2; + * + * @return This builder for chaining. + */ + public Builder clearStartkey() { + + startkey_ = getDefaultInstance().getStartkey(); + onChanged(); + return this; + } + + /** + * string startkey = 2; + * + * @param value The bytes for startkey to set. + * @return This builder for chaining. + */ + public Builder setStartkeyBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + startkey_ = value; + onChanged(); + return this; + } + + private int recordcount_; + + /** + * int32 recordcount = 3; + * + * @return The recordcount. + */ + @java.lang.Override + public int getRecordcount() { + return recordcount_; + } + + /** + * int32 recordcount = 3; + * + * @param value The recordcount to set. + * @return This builder for chaining. + */ + public Builder setRecordcount(int value) { + + recordcount_ = value; + onChanged(); + return this; + } + + /** + * int32 recordcount = 3; + * + * @return This builder for chaining. + */ + public Builder clearRecordcount() { + + recordcount_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringList fields_ = com.google.protobuf.LazyStringArrayList.EMPTY; + + private void ensureFieldsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + fields_ = new com.google.protobuf.LazyStringArrayList(fields_); + bitField0_ |= 0x00000001; + } + } + + /** + * repeated string fields = 4; + * + * @return A list containing the fields. + */ + public com.google.protobuf.ProtocolStringList getFieldsList() { + return fields_.getUnmodifiableView(); + } + + /** + * repeated string fields = 4; + * + * @return The count of fields. + */ + public int getFieldsCount() { + return fields_.size(); + } + + /** + * repeated string fields = 4; + * + * @param index The index of the element to return. + * @return The fields at the given index. + */ + public java.lang.String getFields(int index) { + return fields_.get(index); + } + + /** + * repeated string fields = 4; + * + * @param index The index of the value to return. + * @return The bytes of the fields at the given index. + */ + public com.google.protobuf.ByteString getFieldsBytes(int index) { + return fields_.getByteString(index); + } + + /** + * repeated string fields = 4; + * + * @param index The index to set the value at. + * @param value The fields to set. + * @return This builder for chaining. + */ + public Builder setFields( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureFieldsIsMutable(); + fields_.set(index, value); + onChanged(); + return this; + } + + /** + * repeated string fields = 4; + * + * @param value The fields to add. + * @return This builder for chaining. + */ + public Builder addFields( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureFieldsIsMutable(); + fields_.add(value); + onChanged(); + return this; + } + + /** + * repeated string fields = 4; + * + * @param values The fields to add. + * @return This builder for chaining. + */ + public Builder addAllFields( + java.lang.Iterable values) { + ensureFieldsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, fields_); + onChanged(); + return this; + } + + /** + * repeated string fields = 4; + * + * @return This builder for chaining. + */ + public Builder clearFields() { + fields_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * repeated string fields = 4; + * + * @param value The bytes of the fields to add. + * @return This builder for chaining. + */ + public Builder addFieldsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureFieldsIsMutable(); + fields_.add(value); + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.ScanRequest) + } + + // @@protoc_insertion_point(class_scope:mongo.ScanRequest) + private static final mongo.Mongo.ScanRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.ScanRequest(); + } + + public static mongo.Mongo.ScanRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ScanRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.ScanRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ScanResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.ScanResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + java.util.List getDocumentsList(); + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + mongo.Mongo.BSONDocument getDocuments(int index); + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + int getDocumentsCount(); + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + java.util.List getDocumentsOrBuilderList(); + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + mongo.Mongo.BSONDocumentOrBuilder getDocumentsOrBuilder( + int index); + } + + /** + * Protobuf type {@code mongo.ScanResponse} + */ + public static final class ScanResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.ScanResponse) + ScanResponseOrBuilder { + private static final long serialVersionUID = 0L; + + // Use ScanResponse.newBuilder() to construct. + private ScanResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ScanResponse() { + documents_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ScanResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_ScanResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_ScanResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.ScanResponse.class, mongo.Mongo.ScanResponse.Builder.class); + } + + public static final int DOCUMENTS_FIELD_NUMBER = 1; + private java.util.List documents_; + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + @java.lang.Override + public java.util.List getDocumentsList() { + return documents_; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + @java.lang.Override + public java.util.List getDocumentsOrBuilderList() { + return documents_; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + @java.lang.Override + public int getDocumentsCount() { + return documents_.size(); + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + @java.lang.Override + public mongo.Mongo.BSONDocument getDocuments(int index) { + return documents_.get(index); + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + @java.lang.Override + public mongo.Mongo.BSONDocumentOrBuilder getDocumentsOrBuilder( + int index) { + return documents_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < documents_.size(); i++) { + output.writeMessage(1, documents_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + for (int i = 0; i < documents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, documents_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.ScanResponse)) { + return super.equals(obj); + } + mongo.Mongo.ScanResponse other = (mongo.Mongo.ScanResponse) obj; + + if (!getDocumentsList() + .equals(other.getDocumentsList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getDocumentsCount() > 0) { + hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getDocumentsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.ScanResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ScanResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ScanResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ScanResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ScanResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.ScanResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.ScanResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.ScanResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.ScanResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.ScanResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.ScanResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.ScanResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.ScanResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.ScanResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.ScanResponse) + mongo.Mongo.ScanResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_ScanResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_ScanResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.ScanResponse.class, mongo.Mongo.ScanResponse.Builder.class); + } + + // Construct using mongo.Mongo.ScanResponse.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + } else { + documents_ = null; + documentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_ScanResponse_descriptor; + } + + @java.lang.Override + public mongo.Mongo.ScanResponse getDefaultInstanceForType() { + return mongo.Mongo.ScanResponse.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.ScanResponse build() { + mongo.Mongo.ScanResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.ScanResponse buildPartial() { + mongo.Mongo.ScanResponse result = new mongo.Mongo.ScanResponse(this); + int from_bitField0_ = bitField0_; + if (documentsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + documents_ = java.util.Collections.unmodifiableList(documents_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.documents_ = documents_; + } else { + result.documents_ = documentsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.ScanResponse) { + return mergeFrom((mongo.Mongo.ScanResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.ScanResponse other) { + if (other == mongo.Mongo.ScanResponse.getDefaultInstance()) + return this; + if (documentsBuilder_ == null) { + if (!other.documents_.isEmpty()) { + if (documents_.isEmpty()) { + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureDocumentsIsMutable(); + documents_.addAll(other.documents_); + } + onChanged(); + } + } else { + if (!other.documents_.isEmpty()) { + if (documentsBuilder_.isEmpty()) { + documentsBuilder_.dispose(); + documentsBuilder_ = null; + documents_ = other.documents_; + bitField0_ = (bitField0_ & ~0x00000001); + documentsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders + ? getDocumentsFieldBuilder() + : null; + } else { + documentsBuilder_.addAllMessages(other.documents_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + mongo.Mongo.BSONDocument m = input.readMessage( + mongo.Mongo.BSONDocument.parser(), + extensionRegistry); + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(m); + } else { + documentsBuilder_.addMessage(m); + } + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List documents_ = java.util.Collections.emptyList(); + + private void ensureDocumentsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + documents_ = new java.util.ArrayList(documents_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3 documentsBuilder_; + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public java.util.List getDocumentsList() { + if (documentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(documents_); + } else { + return documentsBuilder_.getMessageList(); + } + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public int getDocumentsCount() { + if (documentsBuilder_ == null) { + return documents_.size(); + } else { + return documentsBuilder_.getCount(); + } + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public mongo.Mongo.BSONDocument getDocuments(int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); + } else { + return documentsBuilder_.getMessage(index); + } + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public Builder setDocuments( + int index, mongo.Mongo.BSONDocument value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.set(index, value); + onChanged(); + } else { + documentsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public Builder setDocuments( + int index, mongo.Mongo.BSONDocument.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.set(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public Builder addDocuments(mongo.Mongo.BSONDocument value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(value); + onChanged(); + } else { + documentsBuilder_.addMessage(value); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public Builder addDocuments( + int index, mongo.Mongo.BSONDocument value) { + if (documentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDocumentsIsMutable(); + documents_.add(index, value); + onChanged(); + } else { + documentsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public Builder addDocuments( + mongo.Mongo.BSONDocument.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public Builder addDocuments( + int index, mongo.Mongo.BSONDocument.Builder builderForValue) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.add(index, builderForValue.build()); + onChanged(); + } else { + documentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public Builder addAllDocuments( + java.lang.Iterable values) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, documents_); + onChanged(); + } else { + documentsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public Builder clearDocuments() { + if (documentsBuilder_ == null) { + documents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + documentsBuilder_.clear(); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public Builder removeDocuments(int index) { + if (documentsBuilder_ == null) { + ensureDocumentsIsMutable(); + documents_.remove(index); + onChanged(); + } else { + documentsBuilder_.remove(index); + } + return this; + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public mongo.Mongo.BSONDocument.Builder getDocumentsBuilder( + int index) { + return getDocumentsFieldBuilder().getBuilder(index); + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public mongo.Mongo.BSONDocumentOrBuilder getDocumentsOrBuilder( + int index) { + if (documentsBuilder_ == null) { + return documents_.get(index); + } else { + return documentsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public java.util.List getDocumentsOrBuilderList() { + if (documentsBuilder_ != null) { + return documentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(documents_); + } + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public mongo.Mongo.BSONDocument.Builder addDocumentsBuilder() { + return getDocumentsFieldBuilder().addBuilder( + mongo.Mongo.BSONDocument.getDefaultInstance()); + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public mongo.Mongo.BSONDocument.Builder addDocumentsBuilder( + int index) { + return getDocumentsFieldBuilder().addBuilder( + index, mongo.Mongo.BSONDocument.getDefaultInstance()); + } + + /** + * repeated .mongo.BSONDocument documents = 1; + */ + public java.util.List getDocumentsBuilderList() { + return getDocumentsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3 getDocumentsFieldBuilder() { + if (documentsBuilder_ == null) { + documentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3( + documents_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + documents_ = null; + } + return documentsBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.ScanResponse) + } + + // @@protoc_insertion_point(class_scope:mongo.ScanResponse) + private static final mongo.Mongo.ScanResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.ScanResponse(); + } + + public static mongo.Mongo.ScanResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ScanResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.ScanResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface UpdateRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.UpdateRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * string collection = 1; + * + * @return The collection. + */ + java.lang.String getCollection(); + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + com.google.protobuf.ByteString getCollectionBytes(); + + /** + * string id = 2; + * + * @return The id. + */ + java.lang.String getId(); + + /** + * string id = 2; + * + * @return The bytes for id. + */ + com.google.protobuf.ByteString getIdBytes(); + + /** + * .mongo.BSONDocument updateDocument = 3; + * + * @return Whether the updateDocument field is set. + */ + boolean hasUpdateDocument(); + + /** + * .mongo.BSONDocument updateDocument = 3; + * + * @return The updateDocument. + */ + mongo.Mongo.BSONDocument getUpdateDocument(); + + /** + * .mongo.BSONDocument updateDocument = 3; + */ + mongo.Mongo.BSONDocumentOrBuilder getUpdateDocumentOrBuilder(); + } + + /** + * Protobuf type {@code mongo.UpdateRequest} + */ + public static final class UpdateRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.UpdateRequest) + UpdateRequestOrBuilder { + private static final long serialVersionUID = 0L; + + // Use UpdateRequest.newBuilder() to construct. + private UpdateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private UpdateRequest() { + collection_ = ""; + id_ = ""; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new UpdateRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_UpdateRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_UpdateRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.UpdateRequest.class, mongo.Mongo.UpdateRequest.Builder.class); + } + + public static final int COLLECTION_FIELD_NUMBER = 1; + private volatile java.lang.Object collection_; + + /** + * string collection = 1; + * + * @return The collection. + */ + @java.lang.Override + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ID_FIELD_NUMBER = 2; + private volatile java.lang.Object id_; + + /** + * string id = 2; + * + * @return The id. + */ + @java.lang.Override + public java.lang.String getId() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } + } + + /** + * string id = 2; + * + * @return The bytes for id. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int UPDATEDOCUMENT_FIELD_NUMBER = 3; + private mongo.Mongo.BSONDocument updateDocument_; + + /** + * .mongo.BSONDocument updateDocument = 3; + * + * @return Whether the updateDocument field is set. + */ + @java.lang.Override + public boolean hasUpdateDocument() { + return updateDocument_ != null; + } + + /** + * .mongo.BSONDocument updateDocument = 3; + * + * @return The updateDocument. + */ + @java.lang.Override + public mongo.Mongo.BSONDocument getUpdateDocument() { + return updateDocument_ == null ? mongo.Mongo.BSONDocument.getDefaultInstance() : updateDocument_; + } + + /** + * .mongo.BSONDocument updateDocument = 3; + */ + @java.lang.Override + public mongo.Mongo.BSONDocumentOrBuilder getUpdateDocumentOrBuilder() { + return getUpdateDocument(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, collection_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, id_); + } + if (updateDocument_ != null) { + output.writeMessage(3, getUpdateDocument()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(collection_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, collection_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, id_); + } + if (updateDocument_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getUpdateDocument()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.UpdateRequest)) { + return super.equals(obj); + } + mongo.Mongo.UpdateRequest other = (mongo.Mongo.UpdateRequest) obj; + + if (!getCollection() + .equals(other.getCollection())) + return false; + if (!getId() + .equals(other.getId())) + return false; + if (hasUpdateDocument() != other.hasUpdateDocument()) + return false; + if (hasUpdateDocument()) { + if (!getUpdateDocument() + .equals(other.getUpdateDocument())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + COLLECTION_FIELD_NUMBER; + hash = (53 * hash) + getCollection().hashCode(); + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId().hashCode(); + if (hasUpdateDocument()) { + hash = (37 * hash) + UPDATEDOCUMENT_FIELD_NUMBER; + hash = (53 * hash) + getUpdateDocument().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.UpdateRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.UpdateRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.UpdateRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.UpdateRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.UpdateRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.UpdateRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.UpdateRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.UpdateRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.UpdateRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.UpdateRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.UpdateRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.UpdateRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.UpdateRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.UpdateRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.UpdateRequest) + mongo.Mongo.UpdateRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_UpdateRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_UpdateRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.UpdateRequest.class, mongo.Mongo.UpdateRequest.Builder.class); + } + + // Construct using mongo.Mongo.UpdateRequest.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + collection_ = ""; + + id_ = ""; + + if (updateDocumentBuilder_ == null) { + updateDocument_ = null; + } else { + updateDocument_ = null; + updateDocumentBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_UpdateRequest_descriptor; + } + + @java.lang.Override + public mongo.Mongo.UpdateRequest getDefaultInstanceForType() { + return mongo.Mongo.UpdateRequest.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.UpdateRequest build() { + mongo.Mongo.UpdateRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.UpdateRequest buildPartial() { + mongo.Mongo.UpdateRequest result = new mongo.Mongo.UpdateRequest(this); + result.collection_ = collection_; + result.id_ = id_; + if (updateDocumentBuilder_ == null) { + result.updateDocument_ = updateDocument_; + } else { + result.updateDocument_ = updateDocumentBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.UpdateRequest) { + return mergeFrom((mongo.Mongo.UpdateRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.UpdateRequest other) { + if (other == mongo.Mongo.UpdateRequest.getDefaultInstance()) + return this; + if (!other.getCollection().isEmpty()) { + collection_ = other.collection_; + onChanged(); + } + if (!other.getId().isEmpty()) { + id_ = other.id_; + onChanged(); + } + if (other.hasUpdateDocument()) { + mergeUpdateDocument(other.getUpdateDocument()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + collection_ = input.readStringRequireUtf8(); + + break; + } // case 10 + case 18: { + id_ = input.readStringRequireUtf8(); + + break; + } // case 18 + case 26: { + input.readMessage( + getUpdateDocumentFieldBuilder().getBuilder(), + extensionRegistry); + + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private java.lang.Object collection_ = ""; + + /** + * string collection = 1; + * + * @return The collection. + */ + public java.lang.String getCollection() { + java.lang.Object ref = collection_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + collection_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string collection = 1; + * + * @return The bytes for collection. + */ + public com.google.protobuf.ByteString getCollectionBytes() { + java.lang.Object ref = collection_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + collection_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string collection = 1; + * + * @param value The collection to set. + * @return This builder for chaining. + */ + public Builder setCollection( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + collection_ = value; + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @return This builder for chaining. + */ + public Builder clearCollection() { + + collection_ = getDefaultInstance().getCollection(); + onChanged(); + return this; + } + + /** + * string collection = 1; + * + * @param value The bytes for collection to set. + * @return This builder for chaining. + */ + public Builder setCollectionBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + collection_ = value; + onChanged(); + return this; + } + + private java.lang.Object id_ = ""; + + /** + * string id = 2; + * + * @return The id. + */ + public java.lang.String getId() { + java.lang.Object ref = id_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string id = 2; + * + * @return The bytes for id. + */ + public com.google.protobuf.ByteString getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string id = 2; + * + * @param value The id to set. + * @return This builder for chaining. + */ + public Builder setId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + id_ = value; + onChanged(); + return this; + } + + /** + * string id = 2; + * + * @return This builder for chaining. + */ + public Builder clearId() { + + id_ = getDefaultInstance().getId(); + onChanged(); + return this; + } + + /** + * string id = 2; + * + * @param value The bytes for id to set. + * @return This builder for chaining. + */ + public Builder setIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + id_ = value; + onChanged(); + return this; + } + + private mongo.Mongo.BSONDocument updateDocument_; + private com.google.protobuf.SingleFieldBuilderV3 updateDocumentBuilder_; + + /** + * .mongo.BSONDocument updateDocument = 3; + * + * @return Whether the updateDocument field is set. + */ + public boolean hasUpdateDocument() { + return updateDocumentBuilder_ != null || updateDocument_ != null; + } + + /** + * .mongo.BSONDocument updateDocument = 3; + * + * @return The updateDocument. + */ + public mongo.Mongo.BSONDocument getUpdateDocument() { + if (updateDocumentBuilder_ == null) { + return updateDocument_ == null ? mongo.Mongo.BSONDocument.getDefaultInstance() : updateDocument_; + } else { + return updateDocumentBuilder_.getMessage(); + } + } + + /** + * .mongo.BSONDocument updateDocument = 3; + */ + public Builder setUpdateDocument(mongo.Mongo.BSONDocument value) { + if (updateDocumentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateDocument_ = value; + onChanged(); + } else { + updateDocumentBuilder_.setMessage(value); + } + + return this; + } + + /** + * .mongo.BSONDocument updateDocument = 3; + */ + public Builder setUpdateDocument( + mongo.Mongo.BSONDocument.Builder builderForValue) { + if (updateDocumentBuilder_ == null) { + updateDocument_ = builderForValue.build(); + onChanged(); + } else { + updateDocumentBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + + /** + * .mongo.BSONDocument updateDocument = 3; + */ + public Builder mergeUpdateDocument(mongo.Mongo.BSONDocument value) { + if (updateDocumentBuilder_ == null) { + if (updateDocument_ != null) { + updateDocument_ = mongo.Mongo.BSONDocument.newBuilder(updateDocument_).mergeFrom(value).buildPartial(); + } else { + updateDocument_ = value; + } + onChanged(); + } else { + updateDocumentBuilder_.mergeFrom(value); + } + + return this; + } + + /** + * .mongo.BSONDocument updateDocument = 3; + */ + public Builder clearUpdateDocument() { + if (updateDocumentBuilder_ == null) { + updateDocument_ = null; + onChanged(); + } else { + updateDocument_ = null; + updateDocumentBuilder_ = null; + } + + return this; + } + + /** + * .mongo.BSONDocument updateDocument = 3; + */ + public mongo.Mongo.BSONDocument.Builder getUpdateDocumentBuilder() { + + onChanged(); + return getUpdateDocumentFieldBuilder().getBuilder(); + } + + /** + * .mongo.BSONDocument updateDocument = 3; + */ + public mongo.Mongo.BSONDocumentOrBuilder getUpdateDocumentOrBuilder() { + if (updateDocumentBuilder_ != null) { + return updateDocumentBuilder_.getMessageOrBuilder(); + } else { + return updateDocument_ == null ? mongo.Mongo.BSONDocument.getDefaultInstance() : updateDocument_; + } + } + + /** + * .mongo.BSONDocument updateDocument = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3 getUpdateDocumentFieldBuilder() { + if (updateDocumentBuilder_ == null) { + updateDocumentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3( + getUpdateDocument(), + getParentForChildren(), + isClean()); + updateDocument_ = null; + } + return updateDocumentBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.UpdateRequest) + } + + // @@protoc_insertion_point(class_scope:mongo.UpdateRequest) + private static final mongo.Mongo.UpdateRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.UpdateRequest(); + } + + public static mongo.Mongo.UpdateRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.UpdateRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface UpdateResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:mongo.UpdateResponse) + com.google.protobuf.MessageOrBuilder { + } + + /** + * Protobuf type {@code mongo.UpdateResponse} + */ + public static final class UpdateResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:mongo.UpdateResponse) + UpdateResponseOrBuilder { + private static final long serialVersionUID = 0L; + + // Use UpdateResponse.newBuilder() to construct. + private UpdateResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private UpdateResponse() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new UpdateResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_UpdateResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_UpdateResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.UpdateResponse.class, mongo.Mongo.UpdateResponse.Builder.class); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mongo.Mongo.UpdateResponse)) { + return super.equals(obj); + } + mongo.Mongo.UpdateResponse other = (mongo.Mongo.UpdateResponse) obj; + + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mongo.Mongo.UpdateResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.UpdateResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.UpdateResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.UpdateResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.UpdateResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static mongo.Mongo.UpdateResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static mongo.Mongo.UpdateResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.UpdateResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.UpdateResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static mongo.Mongo.UpdateResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static mongo.Mongo.UpdateResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static mongo.Mongo.UpdateResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(mongo.Mongo.UpdateResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code mongo.UpdateResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:mongo.UpdateResponse) + mongo.Mongo.UpdateResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return mongo.Mongo.internal_static_mongo_UpdateResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return mongo.Mongo.internal_static_mongo_UpdateResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mongo.Mongo.UpdateResponse.class, mongo.Mongo.UpdateResponse.Builder.class); + } + + // Construct using mongo.Mongo.UpdateResponse.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return mongo.Mongo.internal_static_mongo_UpdateResponse_descriptor; + } + + @java.lang.Override + public mongo.Mongo.UpdateResponse getDefaultInstanceForType() { + return mongo.Mongo.UpdateResponse.getDefaultInstance(); + } + + @java.lang.Override + public mongo.Mongo.UpdateResponse build() { + mongo.Mongo.UpdateResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mongo.Mongo.UpdateResponse buildPartial() { + mongo.Mongo.UpdateResponse result = new mongo.Mongo.UpdateResponse(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mongo.Mongo.UpdateResponse) { + return mergeFrom((mongo.Mongo.UpdateResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mongo.Mongo.UpdateResponse other) { + if (other == mongo.Mongo.UpdateResponse.getDefaultInstance()) + return this; + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:mongo.UpdateResponse) + } + + // @@protoc_insertion_point(class_scope:mongo.UpdateResponse) + private static final mongo.Mongo.UpdateResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mongo.Mongo.UpdateResponse(); + } + + public static mongo.Mongo.UpdateResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mongo.Mongo.UpdateResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_MongoRequest_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_MongoRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_MongoResponse_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_MongoResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_CleanupRequest_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_CleanupRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_CleanupResponse_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_CleanupResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_DeleteRequest_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_DeleteRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_DeleteResponse_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_DeleteResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_InsertRequest_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_InsertRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_BSONDocument_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_BSONDocument_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_InsertResponse_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_InsertResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_ReadRequest_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_ReadRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_ReadResponse_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_ReadResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_ScanRequest_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_ScanRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_ScanResponse_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_ScanResponse_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_UpdateRequest_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_UpdateRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_mongo_UpdateResponse_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_mongo_UpdateResponse_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + static { + java.lang.String[] descriptorData = { + "\n\013mongo.proto\022\005mongo\"\206\003\n\014MongoRequest\022-\n" + + "\004type\030\001 \001(\0162\037.mongo.MongoRequest.Request" + + "Type\022(\n\007cleanup\030\002 \001(\0132\025.mongo.CleanupReq" + + "uestH\000\022&\n\006delete\030\003 \001(\0132\024.mongo.DeleteReq" + + "uestH\000\022&\n\006insert\030\004 \001(\0132\024.mongo.InsertReq" + + "uestH\000\022\"\n\004read\030\005 \001(\0132\022.mongo.ReadRequest" + + "H\000\022\"\n\004scan\030\006 \001(\0132\022.mongo.ScanRequestH\000\022&" + + "\n\006update\030\007 \001(\0132\024.mongo.UpdateRequestH\000\"R" + + "\n\013RequestType\022\013\n\007CLEANUP\020\000\022\n\n\006DELETE\020\001\022\n" + + "\n\006INSERT\020\002\022\010\n\004READ\020\003\022\010\n\004SCAN\020\004\022\n\n\006UPDATE" + + "\020\005B\t\n\007request\"\364\002\n\rMongoResponse\022+\n\006statu" + + "s\030\001 \001(\0162\033.mongo.MongoResponse.Status\022)\n\007" + + "cleanup\030\002 \001(\0132\026.mongo.CleanupResponseH\000\022" + + "\'\n\006delete\030\003 \001(\0132\025.mongo.DeleteResponseH\000" + + "\022\'\n\006insert\030\004 \001(\0132\025.mongo.InsertResponseH" + + "\000\022#\n\004read\030\005 \001(\0132\023.mongo.ReadResponseH\000\022#" + + "\n\004scan\030\006 \001(\0132\023.mongo.ScanResponseH\000\022\'\n\006u" + + "pdate\030\007 \001(\0132\025.mongo.UpdateResponseH\000\":\n\006" + + "Status\022\006\n\002OK\020\000\022\t\n\005ERROR\020\001\022\r\n\tNOT_FOUND\020\002" + + "\022\016\n\nBATCHED_OK\020\003B\n\n\010response\"\020\n\016CleanupR" + + "equest\"\021\n\017CleanupResponse\"/\n\rDeleteReque" + + "st\022\022\n\ncollection\030\001 \001(\t\022\n\n\002id\030\002 \001(\t\"\020\n\016De" + + "leteResponse\"K\n\rInsertRequest\022\022\n\ncollect" + + "ion\030\001 \001(\t\022&\n\tdocuments\030\002 \003(\0132\023.mongo.BSO" + + "NDocument\"\034\n\014BSONDocument\022\014\n\004data\030\001 \001(\014\"" + + "\020\n\016InsertResponse\"=\n\013ReadRequest\022\022\n\ncoll" + + "ection\030\001 \001(\t\022\n\n\002id\030\002 \001(\t\022\016\n\006fields\030\003 \003(\t" + + "\"5\n\014ReadResponse\022%\n\010document\030\001 \001(\0132\023.mon" + + "go.BSONDocument\"X\n\013ScanRequest\022\022\n\ncollec" + + "tion\030\001 \001(\t\022\020\n\010startkey\030\002 \001(\t\022\023\n\013recordco" + + "unt\030\003 \001(\005\022\016\n\006fields\030\004 \003(\t\"6\n\014ScanRespons" + + "e\022&\n\tdocuments\030\001 \003(\0132\023.mongo.BSONDocumen" + + "t\"\\\n\rUpdateRequest\022\022\n\ncollection\030\001 \001(\t\022\n" + + "\n\002id\030\002 \001(\t\022+\n\016updateDocument\030\003 \001(\0132\023.mon" + + "go.BSONDocument\"\020\n\016UpdateResponseB\004Z\002./b" + + "\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_mongo_MongoRequest_descriptor = getDescriptor().getMessageTypes().get(0); + internal_static_mongo_MongoRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_MongoRequest_descriptor, + new java.lang.String[] { "Type", "Cleanup", "Delete", "Insert", "Read", "Scan", "Update", "Request", }); + internal_static_mongo_MongoResponse_descriptor = getDescriptor().getMessageTypes().get(1); + internal_static_mongo_MongoResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_MongoResponse_descriptor, + new java.lang.String[] { "Status", "Cleanup", "Delete", "Insert", "Read", "Scan", "Update", "Response", }); + internal_static_mongo_CleanupRequest_descriptor = getDescriptor().getMessageTypes().get(2); + internal_static_mongo_CleanupRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_CleanupRequest_descriptor, + new java.lang.String[] {}); + internal_static_mongo_CleanupResponse_descriptor = getDescriptor().getMessageTypes().get(3); + internal_static_mongo_CleanupResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_CleanupResponse_descriptor, + new java.lang.String[] {}); + internal_static_mongo_DeleteRequest_descriptor = getDescriptor().getMessageTypes().get(4); + internal_static_mongo_DeleteRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_DeleteRequest_descriptor, + new java.lang.String[] { "Collection", "Id", }); + internal_static_mongo_DeleteResponse_descriptor = getDescriptor().getMessageTypes().get(5); + internal_static_mongo_DeleteResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_DeleteResponse_descriptor, + new java.lang.String[] {}); + internal_static_mongo_InsertRequest_descriptor = getDescriptor().getMessageTypes().get(6); + internal_static_mongo_InsertRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_InsertRequest_descriptor, + new java.lang.String[] { "Collection", "Documents", }); + internal_static_mongo_BSONDocument_descriptor = getDescriptor().getMessageTypes().get(7); + internal_static_mongo_BSONDocument_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_BSONDocument_descriptor, + new java.lang.String[] { "Data", }); + internal_static_mongo_InsertResponse_descriptor = getDescriptor().getMessageTypes().get(8); + internal_static_mongo_InsertResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_InsertResponse_descriptor, + new java.lang.String[] {}); + internal_static_mongo_ReadRequest_descriptor = getDescriptor().getMessageTypes().get(9); + internal_static_mongo_ReadRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_ReadRequest_descriptor, + new java.lang.String[] { "Collection", "Id", "Fields", }); + internal_static_mongo_ReadResponse_descriptor = getDescriptor().getMessageTypes().get(10); + internal_static_mongo_ReadResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_ReadResponse_descriptor, + new java.lang.String[] { "Document", }); + internal_static_mongo_ScanRequest_descriptor = getDescriptor().getMessageTypes().get(11); + internal_static_mongo_ScanRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_ScanRequest_descriptor, + new java.lang.String[] { "Collection", "Startkey", "Recordcount", "Fields", }); + internal_static_mongo_ScanResponse_descriptor = getDescriptor().getMessageTypes().get(12); + internal_static_mongo_ScanResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_ScanResponse_descriptor, + new java.lang.String[] { "Documents", }); + internal_static_mongo_UpdateRequest_descriptor = getDescriptor().getMessageTypes().get(13); + internal_static_mongo_UpdateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_UpdateRequest_descriptor, + new java.lang.String[] { "Collection", "Id", "UpdateDocument", }); + internal_static_mongo_UpdateResponse_descriptor = getDescriptor().getMessageTypes().get(14); + internal_static_mongo_UpdateResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_mongo_UpdateResponse_descriptor, + new java.lang.String[] {}); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/mongodb/src/main/java/site/ycsb/db/BsonToBytes.java b/mongodb/src/main/java/site/ycsb/db/BsonToBytes.java new file mode 100644 index 0000000000..8fbbbaf8f3 --- /dev/null +++ b/mongodb/src/main/java/site/ycsb/db/BsonToBytes.java @@ -0,0 +1,31 @@ +package site.ycsb.db; + +import java.nio.ByteBuffer; + +import org.bson.BsonBinaryReader; +import org.bson.BsonBinaryWriter; +import org.bson.Document; +import org.bson.codecs.Codec; +import org.bson.codecs.DecoderContext; +import org.bson.codecs.DocumentCodec; +import org.bson.codecs.EncoderContext; +import org.bson.io.BasicOutputBuffer; + +public class BsonToBytes { + + private static final Codec DOCUMENT_CODEC = new DocumentCodec(); + + public static byte[] toBytes(Document document) { + BasicOutputBuffer buffer = new BasicOutputBuffer(); + BsonBinaryWriter writer = new BsonBinaryWriter(buffer); + DOCUMENT_CODEC.encode(writer, document, EncoderContext.builder().isEncodingCollectibleDocument(true).build()); + return buffer.toByteArray(); + } + + public static Document toDocument(byte[] bytes) { + BsonBinaryReader reader = new BsonBinaryReader(ByteBuffer.wrap(bytes)); + Document document = DOCUMENT_CODEC.decode(reader, DecoderContext.builder().build()); + reader.close(); + return document; + } +} diff --git a/mongodb/src/main/java/site/ycsb/db/MongoDbModubftClient.java b/mongodb/src/main/java/site/ycsb/db/MongoDbModubftClient.java new file mode 100644 index 0000000000..791058b32c --- /dev/null +++ b/mongodb/src/main/java/site/ycsb/db/MongoDbModubftClient.java @@ -0,0 +1,332 @@ +package site.ycsb.db; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.Vector; +import java.util.concurrent.atomic.AtomicInteger; + +import com.google.protobuf.ByteString; +import org.bson.Document; + +import mongo.Mongo.*; +import mongo.Mongo.MongoRequest.RequestType; +import site.ycsb.ByteIterator; +import site.ycsb.DB; +import site.ycsb.DBException; +import site.ycsb.Status; + +public class MongoDbModubftClient extends DB { + private int moduBftClientPort = 10000; + + private Socket activeConnection; + + private OutputStream out; + private InputStream in; + + private int tId; + + private static int batchSize; + + private static final AtomicInteger INIT_COUNT = new AtomicInteger(0); + + /** The bulk inserts pending for the thread. */ + private final List bulkInserts = new ArrayList(); + + public void init() throws DBException { + try { + INIT_COUNT.incrementAndGet(); + Properties props = getProperties(); + batchSize = Integer.parseInt(props.getProperty("batchsize", "1")); + tId = Integer.parseInt(props.getProperty("threadId")); + moduBftClientPort += tId; + activeConnection = new Socket("localhost", moduBftClientPort); + out = activeConnection.getOutputStream(); + in = activeConnection.getInputStream(); + } catch (Exception e) { + throw new DBException( + String.format("Failed to establish connection with modubft client at port %d", moduBftClientPort), + e); + } + } + + /** + * Delete a record from the database. + * + * @param table + * The name of the table + * @param key + * The record key of the record to delete. + * @return Zero on success, a non-zero error code on error. See the {@link DB} + * class's description for a discussion of error codes. + */ + @Override + public Status delete(String table, String key) { + + DeleteRequest.Builder deleteRequestBuilder = DeleteRequest.newBuilder(); + deleteRequestBuilder.setCollection(table); + deleteRequestBuilder.setId(key); + DeleteRequest deleteRequest = deleteRequestBuilder.build(); + + MongoRequest.Builder requestBuilder = MongoRequest.newBuilder(); + requestBuilder.setType(RequestType.DELETE); + requestBuilder.setDelete(deleteRequest); + MongoRequest request = requestBuilder.build(); + + MongoResponse response = sendRequest(request); + + if (response.getStatus().equals(mongo.Mongo.MongoResponse.Status.OK)) { + return Status.OK; + } + + return Status.ERROR; + } + + /** + * Insert a record in the database. Any field/value pairs in the specified + * values HashMap will be written into the record with the specified record + * key. + * + * @param table + * The name of the table + * @param key + * The record key of the record to insert. + * @param values + * A HashMap of field/value pairs to insert in the record + * @return Zero on success, a non-zero error code on error. See the {@link DB} + * class's description for a discussion of error codes. + */ + @Override + public Status insert(String table, String key, + Map values) { + Document toInsert = new Document("_id", key); + for (Map.Entry entry : values.entrySet()) { + toInsert.put(entry.getKey(), entry.getValue().toArray()); + } + InsertRequest insertRequest; + if (batchSize == 1) { + List bsonDocuments = convertDocuments2BSONs(Arrays.asList(toInsert)); + insertRequest = InsertRequest.newBuilder().setCollection(table) + .addAllDocuments(bsonDocuments).build(); + } else { + bulkInserts.add(toInsert); + if (bulkInserts.size() == batchSize) { + List bsonDocuments = convertDocuments2BSONs(bulkInserts); + insertRequest = InsertRequest.newBuilder().setCollection(table) + .addAllDocuments(bsonDocuments).build(); + } else { + return Status.BATCHED_OK; + } + } + + MongoRequest request = MongoRequest.newBuilder().setType(RequestType.INSERT).setInsert(insertRequest).build(); + MongoResponse response = sendRequest(request); + if (response.getStatus().equals(mongo.Mongo.MongoResponse.Status.OK)) { + return Status.OK; + } + + return Status.ERROR; + } + + /** + * Read a record from the database. Each field/value pair from the result will + * be stored in a HashMap. + * + * @param table + * The name of the table + * @param key + * The record key of the record to read. + * @param fields + * The list of fields to read, or null for all of them + * @param result + * A HashMap of field/value pairs for the result + * @return Zero on success, a non-zero error code on error or "not found". + */ + @Override + public Status read(String table, String key, Set fields, + Map result) { + // build read request + ReadRequest.Builder readRequesBuilder = ReadRequest.newBuilder(); + readRequesBuilder.setCollection(table); + if (fields != null) { + readRequesBuilder.addAllFields(fields); + } + readRequesBuilder.setId(key); + ReadRequest readRequest = readRequesBuilder.build(); + + // build mongo request + MongoRequest.Builder requestBuilder = MongoRequest.newBuilder(); + requestBuilder.setRead(readRequest).setType(RequestType.READ); + MongoRequest request = requestBuilder.build(); + + MongoResponse response = sendRequest(request); + + if (response.getStatus().equals(MongoResponse.Status.OK) && response.getRead().hasDocument()) { + return Status.OK; + } + return Status.ERROR; + } + + /** + * Perform a range scan for a set of records in the database. Each field/value + * pair from the result will be stored in a HashMap. + * + * @param table + * The name of the table + * @param startkey + * The record key of the first record to read. + * @param recordcount + * The number of records to read + * @param fields + * The list of fields to read, or null for all of them + * @param result + * A Vector of HashMaps, where each HashMap is a set + * field/value + * pairs for one record + * @return Zero on success, a non-zero error code on error. See the {@link DB} + * class's description for a discussion of error codes. + */ + @Override + public Status scan(String table, String startkey, int recordcount, + Set fields, Vector> result) { + ScanRequest.Builder scanRequestBuilder = ScanRequest.newBuilder().setCollection(table).setStartkey(startkey); + if (fields != null) { + scanRequestBuilder.addAllFields(fields); + } + ScanRequest scanRequest = scanRequestBuilder.build(); + MongoRequest request = MongoRequest.newBuilder().setScan(scanRequest).build(); + MongoResponse response = sendRequest(request); + if (response.getStatus().equals(MongoResponse.Status.OK) + && response.getScan().getDocumentsList().size() == recordcount) { + return Status.OK; + } + return Status.ERROR; + } + + /** + * Update a record in the database. Any field/value pairs in the specified + * values HashMap will be written into the record with the specified record + * key, overwriting any existing values with the same field name. + * + * @param table + * The name of the table + * @param key + * The record key of the record to write. + * @param values + * A HashMap of field/value pairs to update in the record + * @return Zero on success, a non-zero error code on error. See this class's + * description for a discussion of error codes. + */ + @Override + public Status update(String table, String key, + Map values) { + Document fieldsToSet = new Document(); + for (Map.Entry entry : values.entrySet()) { + fieldsToSet.put(entry.getKey(), entry.getValue().toArray()); + } + Document update = new Document("$set", fieldsToSet); + BSONDocument updateBSON = convertDocument2BSON(update); + UpdateRequest updateRequest = UpdateRequest.newBuilder().setCollection(table).setId(key) + .setUpdateDocument(updateBSON).build(); + MongoRequest request = MongoRequest.newBuilder().setUpdate(updateRequest).setType(RequestType.UPDATE).build(); + MongoResponse response = sendRequest(request); + if (response.getStatus().equals(MongoResponse.Status.OK)) { + return Status.OK; + } + return Status.ERROR; + } + + /** + * Cleanup any state for this DB. Called once per DB instance; there is one DB + * instance per client thread. + */ + @Override + public void cleanup() throws DBException { + if (INIT_COUNT.decrementAndGet() == 0) { + CleanupRequest cleanupRequest = CleanupRequest.newBuilder().build(); + MongoRequest request = MongoRequest.newBuilder().setType(RequestType.CLEANUP).setCleanup(cleanupRequest) + .build(); + MongoResponse response = sendRequest(request); + if (!response.getStatus().equals(MongoResponse.Status.OK)) { + throw new DBException("Cleanup unsuccessful"); + } + } + + } + + private List convertDocuments2BSONs(List documents) { + List bsonDocuments = new ArrayList<>(); + for (Document document : documents) { + BSONDocument bsonDocument = convertDocument2BSON(document); + bsonDocuments.add(bsonDocument); + } + return bsonDocuments; + } + + private BSONDocument convertDocument2BSON(Document document) { + byte[] documentBytes = BsonToBytes.toBytes(document); + ByteString documentByteString = ByteString.copyFrom(documentBytes); + return BSONDocument.newBuilder().setData(documentByteString).build(); + } + + private MongoResponse sendRequest(MongoRequest request) { + try { + byte[] requestBytes = request.toByteArray(); + byte[] length = ByteBuffer.allocate(4).putInt(requestBytes.length).array(); + out.write(length); + out.write(requestBytes); + out.flush(); + return getResponse(); + } catch (Exception e) { + e.printStackTrace(); + MongoResponse.Builder badResponseBuilder = MongoResponse.newBuilder(); + badResponseBuilder.setStatus(mongo.Mongo.MongoResponse.Status.ERROR); + return badResponseBuilder.build(); + } + } + + private MongoResponse getResponse() throws IOException { + byte[] lengthBuf = new byte[4]; + int bytesRead = 0; + + while (bytesRead < 4) { + int result = in.read(lengthBuf, bytesRead, 4 - bytesRead); + if (result == -1) { + if (bytesRead == 0) { + return null; // end of stream + } else { + throw new IOException("Unexpected end of stream"); + } + } + bytesRead += result; + } + int length = ByteBuffer.wrap(lengthBuf).getInt(); + if (length == 0) { + throw new IOException("response size can't be 0"); + } + byte[] messageBytes = new byte[length]; + + bytesRead = 0; + + while (bytesRead < length) { + int result = in.read(messageBytes, bytesRead, length); + if (result == -1) { + throw new IOException("Unexpected end of stream"); + } + bytesRead += result; + } + MongoResponse response = MongoResponse.parseFrom(messageBytes); + + return response; + } + +} diff --git a/proto/mongo.proto b/proto/mongo.proto new file mode 100644 index 0000000000..6ebb882493 --- /dev/null +++ b/proto/mongo.proto @@ -0,0 +1,93 @@ +syntax = "proto3"; + +package mongo; + +option go_package = "./"; + +message MongoRequest { + enum RequestType { + CLEANUP = 0; + DELETE = 1; + INSERT = 2; + READ = 3; + SCAN = 4; + UPDATE = 5; + } + + RequestType type = 1; + + oneof request { + CleanupRequest cleanup = 2; + DeleteRequest delete = 3; + InsertRequest insert = 4; + ReadRequest read = 5; + ScanRequest scan = 6; + UpdateRequest update = 7; + } +} + +message MongoResponse { + enum Status { + OK = 0; + ERROR = 1; + NOT_FOUND = 2; + BATCHED_OK = 3; + } + + Status status = 1; + + oneof response { + CleanupResponse cleanup = 2; + DeleteResponse delete = 3; + InsertResponse insert = 4; + ReadResponse read = 5; + ScanResponse scan = 6; + UpdateResponse update = 7; + } +} + +message CleanupRequest {} +message CleanupResponse {} + +message DeleteRequest { + string collection = 1; + string id = 2; +} +message DeleteResponse {} + +message InsertRequest { + string collection = 1; + repeated BSONDocument documents = 2; +} + +message BSONDocument { + bytes data = 1; +} +message InsertResponse {} + +message ReadRequest { + string collection = 1; + string id = 2; + repeated string fields = 3; +} +message ReadResponse { + BSONDocument document = 1; +} + +message ScanRequest { + string collection = 1; + string startkey = 2; + int32 recordcount = 3; + repeated string fields = 4; +} +message ScanResponse { + repeated BSONDocument documents = 1; +} + + +message UpdateRequest { + string collection = 1; + string id = 2; + BSONDocument updateDocument = 3; +} +message UpdateResponse {} \ No newline at end of file diff --git a/proto/response.proto b/proto/response.proto new file mode 100644 index 0000000000..1739cb159e --- /dev/null +++ b/proto/response.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; +package responseMessage; +option go_package = "./responseMessage"; +message Response { + repeated string result = 1; +} \ No newline at end of file diff --git a/redis/pom.xml b/redis/pom.xml index f808bec031..8fff912489 100644 --- a/redis/pom.xml +++ b/redis/pom.xml @@ -41,5 +41,10 @@ LICENSE file. ${project.version} provided + + com.google.protobuf + protobuf-java + 3.19.6 + diff --git a/redis/src/main/java/queryMessage/Message.java b/redis/src/main/java/queryMessage/Message.java new file mode 100644 index 0000000000..9f75288e91 --- /dev/null +++ b/redis/src/main/java/queryMessage/Message.java @@ -0,0 +1,715 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: message.proto + +package queryMessage; + +public final class Message { + private Message() { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + + public interface QueryOrBuilder extends + // @@protoc_insertion_point(interface_extends:queryMessage.Query) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated string values = 1; + * + * @return A list containing the values. + */ + java.util.List getValuesList(); + + /** + * repeated string values = 1; + * + * @return The count of values. + */ + int getValuesCount(); + + /** + * repeated string values = 1; + * + * @param index The index of the element to return. + * @return The values at the given index. + */ + java.lang.String getValues(int index); + + /** + * repeated string values = 1; + * + * @param index The index of the value to return. + * @return The bytes of the values at the given index. + */ + com.google.protobuf.ByteString getValuesBytes(int index); + } + + /** + * Protobuf type {@code queryMessage.Query} + */ + public static final class Query extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:queryMessage.Query) + QueryOrBuilder { + private static final long serialVersionUID = 0L; + + // Use Query.newBuilder() to construct. + private Query(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private Query() { + values_ = com.google.protobuf.LazyStringArrayList.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Query(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return queryMessage.Message.internal_static_queryMessage_Query_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return queryMessage.Message.internal_static_queryMessage_Query_fieldAccessorTable + .ensureFieldAccessorsInitialized( + queryMessage.Message.Query.class, queryMessage.Message.Query.Builder.class); + } + + public static final int VALUES_FIELD_NUMBER = 1; + private com.google.protobuf.LazyStringList values_; + + /** + * repeated string values = 1; + * + * @return A list containing the values. + */ + public com.google.protobuf.ProtocolStringList getValuesList() { + return values_; + } + + /** + * repeated string values = 1; + * + * @return The count of values. + */ + public int getValuesCount() { + return values_.size(); + } + + /** + * repeated string values = 1; + * + * @param index The index of the element to return. + * @return The values at the given index. + */ + public java.lang.String getValues(int index) { + return values_.get(index); + } + + /** + * repeated string values = 1; + * + * @param index The index of the value to return. + * @return The bytes of the values at the given index. + */ + public com.google.protobuf.ByteString getValuesBytes(int index) { + return values_.getByteString(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < values_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, values_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < values_.size(); i++) { + dataSize += computeStringSizeNoTag(values_.getRaw(i)); + } + size += dataSize; + size += 1 * getValuesList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof queryMessage.Message.Query)) { + return super.equals(obj); + } + queryMessage.Message.Query other = (queryMessage.Message.Query) obj; + + if (!getValuesList() + .equals(other.getValuesList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getValuesCount() > 0) { + hash = (37 * hash) + VALUES_FIELD_NUMBER; + hash = (53 * hash) + getValuesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static queryMessage.Message.Query parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static queryMessage.Message.Query parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static queryMessage.Message.Query parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static queryMessage.Message.Query parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static queryMessage.Message.Query parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static queryMessage.Message.Query parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static queryMessage.Message.Query parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static queryMessage.Message.Query parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static queryMessage.Message.Query parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static queryMessage.Message.Query parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static queryMessage.Message.Query parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static queryMessage.Message.Query parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(queryMessage.Message.Query prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code queryMessage.Query} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:queryMessage.Query) + queryMessage.Message.QueryOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return queryMessage.Message.internal_static_queryMessage_Query_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return queryMessage.Message.internal_static_queryMessage_Query_fieldAccessorTable + .ensureFieldAccessorsInitialized( + queryMessage.Message.Query.class, queryMessage.Message.Query.Builder.class); + } + + // Construct using queryMessage.Message.Query.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + values_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return queryMessage.Message.internal_static_queryMessage_Query_descriptor; + } + + @java.lang.Override + public queryMessage.Message.Query getDefaultInstanceForType() { + return queryMessage.Message.Query.getDefaultInstance(); + } + + @java.lang.Override + public queryMessage.Message.Query build() { + queryMessage.Message.Query result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public queryMessage.Message.Query buildPartial() { + queryMessage.Message.Query result = new queryMessage.Message.Query(this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) != 0)) { + values_ = values_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.values_ = values_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof queryMessage.Message.Query) { + return mergeFrom((queryMessage.Message.Query) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(queryMessage.Message.Query other) { + if (other == queryMessage.Message.Query.getDefaultInstance()) + return this; + if (!other.values_.isEmpty()) { + if (values_.isEmpty()) { + values_ = other.values_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureValuesIsMutable(); + values_.addAll(other.values_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + ensureValuesIsMutable(); + values_.add(s); + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.protobuf.LazyStringList values_ = com.google.protobuf.LazyStringArrayList.EMPTY; + + private void ensureValuesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + values_ = new com.google.protobuf.LazyStringArrayList(values_); + bitField0_ |= 0x00000001; + } + } + + /** + * repeated string values = 1; + * + * @return A list containing the values. + */ + public com.google.protobuf.ProtocolStringList getValuesList() { + return values_.getUnmodifiableView(); + } + + /** + * repeated string values = 1; + * + * @return The count of values. + */ + public int getValuesCount() { + return values_.size(); + } + + /** + * repeated string values = 1; + * + * @param index The index of the element to return. + * @return The values at the given index. + */ + public java.lang.String getValues(int index) { + return values_.get(index); + } + + /** + * repeated string values = 1; + * + * @param index The index of the value to return. + * @return The bytes of the values at the given index. + */ + public com.google.protobuf.ByteString getValuesBytes(int index) { + return values_.getByteString(index); + } + + /** + * repeated string values = 1; + * + * @param index The index to set the value at. + * @param value The values to set. + * @return This builder for chaining. + */ + public Builder setValues( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureValuesIsMutable(); + values_.set(index, value); + onChanged(); + return this; + } + + /** + * repeated string values = 1; + * + * @param value The values to add. + * @return This builder for chaining. + */ + public Builder addValues( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureValuesIsMutable(); + values_.add(value); + onChanged(); + return this; + } + + /** + * repeated string values = 1; + * + * @param values The values to add. + * @return This builder for chaining. + */ + public Builder addAllValues( + java.lang.Iterable values) { + ensureValuesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, values_); + onChanged(); + return this; + } + + /** + * repeated string values = 1; + * + * @return This builder for chaining. + */ + public Builder clearValues() { + values_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * repeated string values = 1; + * + * @param value The bytes of the values to add. + * @return This builder for chaining. + */ + public Builder addValuesBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureValuesIsMutable(); + values_.add(value); + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:queryMessage.Query) + } + + // @@protoc_insertion_point(class_scope:queryMessage.Query) + private static final queryMessage.Message.Query DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new queryMessage.Message.Query(); + } + + public static queryMessage.Message.Query getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Query parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public queryMessage.Message.Query getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_queryMessage_Query_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_queryMessage_Query_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + static { + java.lang.String[] descriptorData = { + "\n\rmessage.proto\022\014queryMessage\"\027\n\005Query\022\016" + + "\n\006values\030\001 \003(\tb\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_queryMessage_Query_descriptor = getDescriptor().getMessageTypes().get(0); + internal_static_queryMessage_Query_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_queryMessage_Query_descriptor, + new java.lang.String[] { "Values", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} \ No newline at end of file diff --git a/redis/src/main/java/responseMessage/ResponseOuterClass.java b/redis/src/main/java/responseMessage/ResponseOuterClass.java new file mode 100644 index 0000000000..aadc40bda4 --- /dev/null +++ b/redis/src/main/java/responseMessage/ResponseOuterClass.java @@ -0,0 +1,719 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: response.proto + +package responseMessage; + +public final class ResponseOuterClass { + private ResponseOuterClass() { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + + public interface ResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:responseMessage.Response) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated string result = 1; + * + * @return A list containing the result. + */ + java.util.List getResultList(); + + /** + * repeated string result = 1; + * + * @return The count of result. + */ + int getResultCount(); + + /** + * repeated string result = 1; + * + * @param index The index of the element to return. + * @return The result at the given index. + */ + java.lang.String getResult(int index); + + /** + * repeated string result = 1; + * + * @param index The index of the value to return. + * @return The bytes of the result at the given index. + */ + com.google.protobuf.ByteString getResultBytes(int index); + } + + /** + * Protobuf type {@code responseMessage.Response} + */ + public static final class Response extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:responseMessage.Response) + ResponseOrBuilder { + private static final long serialVersionUID = 0L; + + // Use Response.newBuilder() to construct. + private Response(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private Response() { + result_ = com.google.protobuf.LazyStringArrayList.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Response(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return responseMessage.ResponseOuterClass.internal_static_responseMessage_Response_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return responseMessage.ResponseOuterClass.internal_static_responseMessage_Response_fieldAccessorTable + .ensureFieldAccessorsInitialized( + responseMessage.ResponseOuterClass.Response.class, + responseMessage.ResponseOuterClass.Response.Builder.class); + } + + public static final int RESULT_FIELD_NUMBER = 1; + private com.google.protobuf.LazyStringList result_; + + /** + * repeated string result = 1; + * + * @return A list containing the result. + */ + public com.google.protobuf.ProtocolStringList getResultList() { + return result_; + } + + /** + * repeated string result = 1; + * + * @return The count of result. + */ + public int getResultCount() { + return result_.size(); + } + + /** + * repeated string result = 1; + * + * @param index The index of the element to return. + * @return The result at the given index. + */ + public java.lang.String getResult(int index) { + return result_.get(index); + } + + /** + * repeated string result = 1; + * + * @param index The index of the value to return. + * @return The bytes of the result at the given index. + */ + public com.google.protobuf.ByteString getResultBytes(int index) { + return result_.getByteString(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < result_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, result_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < result_.size(); i++) { + dataSize += computeStringSizeNoTag(result_.getRaw(i)); + } + size += dataSize; + size += 1 * getResultList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof responseMessage.ResponseOuterClass.Response)) { + return super.equals(obj); + } + responseMessage.ResponseOuterClass.Response other = (responseMessage.ResponseOuterClass.Response) obj; + + if (!getResultList() + .equals(other.getResultList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getResultCount() > 0) { + hash = (37 * hash) + RESULT_FIELD_NUMBER; + hash = (53 * hash) + getResultList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static responseMessage.ResponseOuterClass.Response parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static responseMessage.ResponseOuterClass.Response parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static responseMessage.ResponseOuterClass.Response parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static responseMessage.ResponseOuterClass.Response parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static responseMessage.ResponseOuterClass.Response parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static responseMessage.ResponseOuterClass.Response parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static responseMessage.ResponseOuterClass.Response parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static responseMessage.ResponseOuterClass.Response parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static responseMessage.ResponseOuterClass.Response parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static responseMessage.ResponseOuterClass.Response parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static responseMessage.ResponseOuterClass.Response parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static responseMessage.ResponseOuterClass.Response parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(responseMessage.ResponseOuterClass.Response prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() + : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code responseMessage.Response} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:responseMessage.Response) + responseMessage.ResponseOuterClass.ResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return responseMessage.ResponseOuterClass.internal_static_responseMessage_Response_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return responseMessage.ResponseOuterClass.internal_static_responseMessage_Response_fieldAccessorTable + .ensureFieldAccessorsInitialized( + responseMessage.ResponseOuterClass.Response.class, + responseMessage.ResponseOuterClass.Response.Builder.class); + } + + // Construct using responseMessage.ResponseOuterClass.Response.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + + } + + @java.lang.Override + public Builder clear() { + super.clear(); + result_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return responseMessage.ResponseOuterClass.internal_static_responseMessage_Response_descriptor; + } + + @java.lang.Override + public responseMessage.ResponseOuterClass.Response getDefaultInstanceForType() { + return responseMessage.ResponseOuterClass.Response.getDefaultInstance(); + } + + @java.lang.Override + public responseMessage.ResponseOuterClass.Response build() { + responseMessage.ResponseOuterClass.Response result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public responseMessage.ResponseOuterClass.Response buildPartial() { + responseMessage.ResponseOuterClass.Response result = new responseMessage.ResponseOuterClass.Response( + this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) != 0)) { + result_ = result_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.result_ = result_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof responseMessage.ResponseOuterClass.Response) { + return mergeFrom((responseMessage.ResponseOuterClass.Response) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(responseMessage.ResponseOuterClass.Response other) { + if (other == responseMessage.ResponseOuterClass.Response.getDefaultInstance()) + return this; + if (!other.result_.isEmpty()) { + if (result_.isEmpty()) { + result_ = other.result_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureResultIsMutable(); + result_.addAll(other.result_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + ensureResultIsMutable(); + result_.add(s); + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.protobuf.LazyStringList result_ = com.google.protobuf.LazyStringArrayList.EMPTY; + + private void ensureResultIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + result_ = new com.google.protobuf.LazyStringArrayList(result_); + bitField0_ |= 0x00000001; + } + } + + /** + * repeated string result = 1; + * + * @return A list containing the result. + */ + public com.google.protobuf.ProtocolStringList getResultList() { + return result_.getUnmodifiableView(); + } + + /** + * repeated string result = 1; + * + * @return The count of result. + */ + public int getResultCount() { + return result_.size(); + } + + /** + * repeated string result = 1; + * + * @param index The index of the element to return. + * @return The result at the given index. + */ + public java.lang.String getResult(int index) { + return result_.get(index); + } + + /** + * repeated string result = 1; + * + * @param index The index of the value to return. + * @return The bytes of the result at the given index. + */ + public com.google.protobuf.ByteString getResultBytes(int index) { + return result_.getByteString(index); + } + + /** + * repeated string result = 1; + * + * @param index The index to set the value at. + * @param value The result to set. + * @return This builder for chaining. + */ + public Builder setResult( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureResultIsMutable(); + result_.set(index, value); + onChanged(); + return this; + } + + /** + * repeated string result = 1; + * + * @param value The result to add. + * @return This builder for chaining. + */ + public Builder addResult( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureResultIsMutable(); + result_.add(value); + onChanged(); + return this; + } + + /** + * repeated string result = 1; + * + * @param values The result to add. + * @return This builder for chaining. + */ + public Builder addAllResult( + java.lang.Iterable values) { + ensureResultIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, result_); + onChanged(); + return this; + } + + /** + * repeated string result = 1; + * + * @return This builder for chaining. + */ + public Builder clearResult() { + result_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * repeated string result = 1; + * + * @param value The bytes of the result to add. + * @return This builder for chaining. + */ + public Builder addResultBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureResultIsMutable(); + result_.add(value); + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:responseMessage.Response) + } + + // @@protoc_insertion_point(class_scope:responseMessage.Response) + private static final responseMessage.ResponseOuterClass.Response DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new responseMessage.ResponseOuterClass.Response(); + } + + public static responseMessage.ResponseOuterClass.Response getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Response parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public responseMessage.ResponseOuterClass.Response getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_responseMessage_Response_descriptor; + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_responseMessage_Response_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + static { + java.lang.String[] descriptorData = { + "\n\016response.proto\022\017responseMessage\"\032\n\010Res" + + "ponse\022\016\n\006result\030\001 \003(\tB\023Z\021./responseMessa" + + "geb\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_responseMessage_Response_descriptor = getDescriptor().getMessageTypes().get(0); + internal_static_responseMessage_Response_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_responseMessage_Response_descriptor, + new java.lang.String[] { "Result", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} \ No newline at end of file diff --git a/redis/src/main/java/site/ycsb/db/RedisModubftClient.java b/redis/src/main/java/site/ycsb/db/RedisModubftClient.java new file mode 100644 index 0000000000..b84032ff80 --- /dev/null +++ b/redis/src/main/java/site/ycsb/db/RedisModubftClient.java @@ -0,0 +1,245 @@ +/** + * Copyright (c) 2012 YCSB contributors. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you + * may not use this file except in compliance with the License. You + * may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing + * permissions and limitations under the License. See accompanying + * LICENSE file. + */ + +/** + * Redis client binding for YCSB. + * + * All YCSB records are mapped to a Redis *hash field*. For scanning + * operations, all keys are saved (by an arbitrary hash) in a sorted set. + */ + + package site.ycsb.db; + + import site.ycsb.ByteIterator; + import site.ycsb.DB; + import site.ycsb.DBException; + import site.ycsb.Status; + + import java.io.IOException; + import java.io.InputStream; + import java.io.OutputStream; + import java.net.Socket; + import java.nio.ByteBuffer; + import java.util.HashMap; + import java.util.Map; + import java.util.Properties; + import java.util.Set; + import java.util.Vector; + + import queryMessage.Message; + import queryMessage.Message.Query; + import responseMessage.ResponseOuterClass.Response; + + /** + * YCSB binding for Redis. + * + * See {@code redis/README.md} for details. + */ + public class RedisModubftClient extends DB { + + public static final String INDEX_KEY = "_indices"; + private int moduBftClientPort = 10000; + + private Socket activeConnection; + + private OutputStream out; + private InputStream in; + + private int tId; + + public void init() throws DBException { + try { + Properties props = getProperties(); + tId = Integer.parseInt(props.getProperty("threadId")); + moduBftClientPort += tId; + activeConnection = new Socket("localhost", moduBftClientPort); + out = activeConnection.getOutputStream(); + in = activeConnection.getInputStream(); + } catch (Exception e) { + throw new DBException( + String.format("Failed to establish connection with modubft client at port %d", moduBftClientPort), e); + } + } + + public void cleanup() throws DBException { + return; + } + + /* + * Calculate a hash for a key to store it in an index. The actual return value + * of this function is not interesting -- it primarily needs to be fast and + * scattered along the whole space of doubles. In a real world scenario one + * would probably use the ASCII values of the keys. + */ + private double hash(String key) { + return key.hashCode(); + } + + @Override + public Status read(String table, String key, Set fields, + Map result) { + Response resp; + if (fields == null) { + resp = sendQuery("HGETALL", key); + } else { + String[] args = new String[2 + fields.size()]; + String[] fieldsArray = (String[]) fields.toArray(); + args[0] = "HMGET"; + args[1] = key; + + for (int i = 2; i < 2 + fields.size(); i++) { + args[i] = fieldsArray[i - 2]; + } + resp = sendQuery(args); + } + if (resp.getResultCount() > 0) { + return Status.OK; + } else { + return Status.ERROR; + } + } + + @Override + public Status insert(String table, String key, + Map values) { + String[] args = new String[values.size() * 2 + 2]; + args[0] = "HMSET"; + args[1] = key; + int index = 2; + for (Map.Entry entry : values.entrySet()) { + args[index++] = entry.getKey(); + args[index++] = entry.getValue().toString(); + } + + Response respHmset = sendQuery(args); + + + if (respHmset.getResult(0).equals("OK")) { + sendQuery("ZADD", INDEX_KEY, Double.toString(hash(key)), key); + return Status.OK; + } else { + return Status.ERROR; + } + + } + + @Override + public Status delete(String table, String key) { + + Response respDel = sendQuery("DEL", key); + + if (Integer.parseInt(respDel.getResult(0)) == 0) { + Response respZrem = sendQuery("ZREM", key); + if (Integer.parseInt(respZrem.getResult(0)) == 0) { + return Status.OK; + } + } + return Status.ERROR; + + } + + @Override + public Status update(String table, String key, + Map values) { + String[] args = new String[values.size() * 2 + 2]; + args[0] = "HMSET"; + args[1] = key; + int index = 2; + for (Map.Entry entry : values.entrySet()) { + args[index++] = entry.getKey(); + args[index++] = entry.getValue().toString(); + } + Response resp = sendQuery(args); + if (resp.getResultCount() > 0 && resp.getResult(0).equals("OK")) { + return Status.OK; + } else { + return Status.ERROR; + } + + } + + @Override + public Status scan(String table, String startkey, int recordcount, + Set fields, Vector> result) { + throw new UnsupportedOperationException("Scan is not offered yet"); + } + + private Response sendQuery(String... args) { + + try { + //System.out.println("sendQuery in thread: " + tId); + byte[] msg = transformArgsToProtoMessage(args); + + byte[] length = ByteBuffer.allocate(4).putInt(msg.length).array(); + out.write(length); + out.write(msg); + out.flush(); + return getResponse(args); + + } catch (Exception e) { + e.printStackTrace(); + return Response.newBuilder().build(); + } + } + + private byte[] transformArgsToProtoMessage(String[] args) { + Message.Query.Builder queryBuilder = Query.newBuilder(); + for (String s : args) { + queryBuilder.addValues(s); + } + Query query = queryBuilder.build(); + byte[] data = query.toByteArray(); + return data; + } + + + private Response getResponse(String... args) throws IOException { + byte[] lengthBuf = new byte[4]; + int bytesRead = 0; + + while (bytesRead < 4) { + int result = in.read(lengthBuf, bytesRead, 4 - bytesRead); + if (result == -1) { + if (bytesRead == 0) { + return null; // end of stream + } else { + throw new IOException("Unexpected end of stream"); + } + } + bytesRead += result; + } + int length = ByteBuffer.wrap(lengthBuf).getInt(); + if (length == 0) { + throw new IOException("response size can't be 0"); + } + byte[] messageBytes = new byte[length]; + + bytesRead = 0; + + while (bytesRead < length) { + int result = in.read(messageBytes, bytesRead, length); + if (result == -1) { + throw new IOException("Unexpected end of stream"); + } + bytesRead += result; + } + Response response = Response.parseFrom(messageBytes); + return response; + + } + + } \ No newline at end of file