All Downloads are FREE. Search and download functionalities are using the official Maven repository.

build.bazel.remote.execution.v2.Command Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: build/bazel/remote/execution/v2/remote_execution.proto

// Protobuf Java Version: 3.25.3
package build.bazel.remote.execution.v2;

/**
 * 
 * A `Command` is the actual command executed by a worker running an
 * [Action][build.bazel.remote.execution.v2.Action] and specifications of its
 * environment.
 *
 * Except as otherwise required, the environment (such as which system
 * libraries or binaries are available, and what filesystems are mounted where)
 * is defined by and specific to the implementation of the remote execution API.
 * 
* * Protobuf type {@code build.bazel.remote.execution.v2.Command} */ public final class Command extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:build.bazel.remote.execution.v2.Command) CommandOrBuilder { private static final long serialVersionUID = 0L; // Use Command.newBuilder() to construct. private Command(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Command() { arguments_ = com.google.protobuf.LazyStringArrayList.emptyList(); environmentVariables_ = java.util.Collections.emptyList(); outputFiles_ = com.google.protobuf.LazyStringArrayList.emptyList(); outputDirectories_ = com.google.protobuf.LazyStringArrayList.emptyList(); outputPaths_ = com.google.protobuf.LazyStringArrayList.emptyList(); workingDirectory_ = ""; outputNodeProperties_ = com.google.protobuf.LazyStringArrayList.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Command(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_fieldAccessorTable .ensureFieldAccessorsInitialized( build.bazel.remote.execution.v2.Command.class, build.bazel.remote.execution.v2.Command.Builder.class); } public interface EnvironmentVariableOrBuilder extends // @@protoc_insertion_point(interface_extends:build.bazel.remote.execution.v2.Command.EnvironmentVariable) com.google.protobuf.MessageOrBuilder { /** *
     * The variable name.
     * 
* * string name = 1; * @return The name. */ java.lang.String getName(); /** *
     * The variable name.
     * 
* * string name = 1; * @return The bytes for name. */ com.google.protobuf.ByteString getNameBytes(); /** *
     * The variable value.
     * 
* * string value = 2; * @return The value. */ java.lang.String getValue(); /** *
     * The variable value.
     * 
* * string value = 2; * @return The bytes for value. */ com.google.protobuf.ByteString getValueBytes(); } /** *
   * An `EnvironmentVariable` is one variable to set in the running program's
   * environment.
   * 
* * Protobuf type {@code build.bazel.remote.execution.v2.Command.EnvironmentVariable} */ public static final class EnvironmentVariable extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:build.bazel.remote.execution.v2.Command.EnvironmentVariable) EnvironmentVariableOrBuilder { private static final long serialVersionUID = 0L; // Use EnvironmentVariable.newBuilder() to construct. private EnvironmentVariable(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private EnvironmentVariable() { name_ = ""; value_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new EnvironmentVariable(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_EnvironmentVariable_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_EnvironmentVariable_fieldAccessorTable .ensureFieldAccessorsInitialized( build.bazel.remote.execution.v2.Command.EnvironmentVariable.class, build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder.class); } public static final int NAME_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object name_ = ""; /** *
     * The variable name.
     * 
* * string name = 1; * @return The name. */ @java.lang.Override public java.lang.String getName() { java.lang.Object ref = name_; 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(); name_ = s; return s; } } /** *
     * The variable name.
     * 
* * string name = 1; * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int VALUE_FIELD_NUMBER = 2; @SuppressWarnings("serial") private volatile java.lang.Object value_ = ""; /** *
     * The variable value.
     * 
* * string value = 2; * @return The value. */ @java.lang.Override public java.lang.String getValue() { java.lang.Object ref = value_; 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(); value_ = s; return s; } } /** *
     * The variable value.
     * 
* * string value = 2; * @return The bytes for value. */ @java.lang.Override public com.google.protobuf.ByteString getValueBytes() { java.lang.Object ref = value_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); value_ = 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(name_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(value_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, value_); } 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(name_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(value_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, value_); } 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 build.bazel.remote.execution.v2.Command.EnvironmentVariable)) { return super.equals(obj); } build.bazel.remote.execution.v2.Command.EnvironmentVariable other = (build.bazel.remote.execution.v2.Command.EnvironmentVariable) obj; if (!getName() .equals(other.getName())) return false; if (!getValue() .equals(other.getValue())) 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) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); hash = (37 * hash) + VALUE_FIELD_NUMBER; hash = (53 * hash) + getValue().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable 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 build.bazel.remote.execution.v2.Command.EnvironmentVariable parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable 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 build.bazel.remote.execution.v2.Command.EnvironmentVariable parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable 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(build.bazel.remote.execution.v2.Command.EnvironmentVariable 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; } /** *
     * An `EnvironmentVariable` is one variable to set in the running program's
     * environment.
     * 
* * Protobuf type {@code build.bazel.remote.execution.v2.Command.EnvironmentVariable} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:build.bazel.remote.execution.v2.Command.EnvironmentVariable) build.bazel.remote.execution.v2.Command.EnvironmentVariableOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_EnvironmentVariable_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_EnvironmentVariable_fieldAccessorTable .ensureFieldAccessorsInitialized( build.bazel.remote.execution.v2.Command.EnvironmentVariable.class, build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder.class); } // Construct using build.bazel.remote.execution.v2.Command.EnvironmentVariable.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; name_ = ""; value_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_EnvironmentVariable_descriptor; } @java.lang.Override public build.bazel.remote.execution.v2.Command.EnvironmentVariable getDefaultInstanceForType() { return build.bazel.remote.execution.v2.Command.EnvironmentVariable.getDefaultInstance(); } @java.lang.Override public build.bazel.remote.execution.v2.Command.EnvironmentVariable build() { build.bazel.remote.execution.v2.Command.EnvironmentVariable result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public build.bazel.remote.execution.v2.Command.EnvironmentVariable buildPartial() { build.bazel.remote.execution.v2.Command.EnvironmentVariable result = new build.bazel.remote.execution.v2.Command.EnvironmentVariable(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(build.bazel.remote.execution.v2.Command.EnvironmentVariable result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.name_ = name_; } if (((from_bitField0_ & 0x00000002) != 0)) { result.value_ = value_; } } @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 build.bazel.remote.execution.v2.Command.EnvironmentVariable) { return mergeFrom((build.bazel.remote.execution.v2.Command.EnvironmentVariable)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(build.bazel.remote.execution.v2.Command.EnvironmentVariable other) { if (other == build.bazel.remote.execution.v2.Command.EnvironmentVariable.getDefaultInstance()) return this; if (!other.getName().isEmpty()) { name_ = other.name_; bitField0_ |= 0x00000001; onChanged(); } if (!other.getValue().isEmpty()) { value_ = other.value_; bitField0_ |= 0x00000002; 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: { name_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 10 case 18: { value_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000002; 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 name_ = ""; /** *
       * The variable name.
       * 
* * string name = 1; * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * The variable name.
       * 
* * string name = 1; * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * The variable name.
       * 
* * string name = 1; * @param value The name to set. * @return This builder for chaining. */ public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } name_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The variable name.
       * 
* * string name = 1; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
       * The variable name.
       * 
* * string name = 1; * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); name_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private java.lang.Object value_ = ""; /** *
       * The variable value.
       * 
* * string value = 2; * @return The value. */ public java.lang.String getValue() { java.lang.Object ref = value_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); value_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * The variable value.
       * 
* * string value = 2; * @return The bytes for value. */ public com.google.protobuf.ByteString getValueBytes() { java.lang.Object ref = value_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); value_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * The variable value.
       * 
* * string value = 2; * @param value The value to set. * @return This builder for chaining. */ public Builder setValue( java.lang.String value) { if (value == null) { throw new NullPointerException(); } value_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * The variable value.
       * 
* * string value = 2; * @return This builder for chaining. */ public Builder clearValue() { value_ = getDefaultInstance().getValue(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** *
       * The variable value.
       * 
* * string value = 2; * @param value The bytes for value to set. * @return This builder for chaining. */ public Builder setValueBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); value_ = value; bitField0_ |= 0x00000002; 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:build.bazel.remote.execution.v2.Command.EnvironmentVariable) } // @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Command.EnvironmentVariable) private static final build.bazel.remote.execution.v2.Command.EnvironmentVariable DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new build.bazel.remote.execution.v2.Command.EnvironmentVariable(); } public static build.bazel.remote.execution.v2.Command.EnvironmentVariable getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public EnvironmentVariable 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 build.bazel.remote.execution.v2.Command.EnvironmentVariable getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private int bitField0_; public static final int ARGUMENTS_FIELD_NUMBER = 1; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList arguments_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * The arguments to the command. The first argument must be the path to the
   * executable, which must be either a relative path, in which case it is
   * evaluated with respect to the input root, or an absolute path.
   * 
* * repeated string arguments = 1; * @return A list containing the arguments. */ public com.google.protobuf.ProtocolStringList getArgumentsList() { return arguments_; } /** *
   * The arguments to the command. The first argument must be the path to the
   * executable, which must be either a relative path, in which case it is
   * evaluated with respect to the input root, or an absolute path.
   * 
* * repeated string arguments = 1; * @return The count of arguments. */ public int getArgumentsCount() { return arguments_.size(); } /** *
   * The arguments to the command. The first argument must be the path to the
   * executable, which must be either a relative path, in which case it is
   * evaluated with respect to the input root, or an absolute path.
   * 
* * repeated string arguments = 1; * @param index The index of the element to return. * @return The arguments at the given index. */ public java.lang.String getArguments(int index) { return arguments_.get(index); } /** *
   * The arguments to the command. The first argument must be the path to the
   * executable, which must be either a relative path, in which case it is
   * evaluated with respect to the input root, or an absolute path.
   * 
* * repeated string arguments = 1; * @param index The index of the value to return. * @return The bytes of the arguments at the given index. */ public com.google.protobuf.ByteString getArgumentsBytes(int index) { return arguments_.getByteString(index); } public static final int ENVIRONMENT_VARIABLES_FIELD_NUMBER = 2; @SuppressWarnings("serial") private java.util.List environmentVariables_; /** *
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   *
   * In order to ensure that equivalent
   * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ @java.lang.Override public java.util.List getEnvironmentVariablesList() { return environmentVariables_; } /** *
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   *
   * In order to ensure that equivalent
   * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ @java.lang.Override public java.util.List getEnvironmentVariablesOrBuilderList() { return environmentVariables_; } /** *
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   *
   * In order to ensure that equivalent
   * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ @java.lang.Override public int getEnvironmentVariablesCount() { return environmentVariables_.size(); } /** *
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   *
   * In order to ensure that equivalent
   * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ @java.lang.Override public build.bazel.remote.execution.v2.Command.EnvironmentVariable getEnvironmentVariables(int index) { return environmentVariables_.get(index); } /** *
   * The environment variables to set when running the program. The worker may
   * provide its own default environment variables; these defaults can be
   * overridden using this field. Additional variables can also be specified.
   *
   * In order to ensure that equivalent
   * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
   * value, the environment variables MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ @java.lang.Override public build.bazel.remote.execution.v2.Command.EnvironmentVariableOrBuilder getEnvironmentVariablesOrBuilder( int index) { return environmentVariables_.get(index); } public static final int OUTPUT_FILES_FIELD_NUMBER = 3; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList outputFiles_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of the output files that the client expects to retrieve from the
   * action. Only the listed files, as well as directories listed in
   * `output_directories`, will be returned to the client as output.
   * Other files or directories that may be created during command execution
   * are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
   * bytes).
   *
   * An output file cannot be duplicated, be a parent of another output file, or
   * have the same path as any of the listed output directories.
   *
   * Directories leading up to the output files are created by the worker prior
   * to execution, even if they are not explicitly part of the input root.
   *
   * DEPRECATED since v2.1: Use `output_paths` instead.
   * 
* * repeated string output_files = 3; * @return A list containing the outputFiles. */ public com.google.protobuf.ProtocolStringList getOutputFilesList() { return outputFiles_; } /** *
   * A list of the output files that the client expects to retrieve from the
   * action. Only the listed files, as well as directories listed in
   * `output_directories`, will be returned to the client as output.
   * Other files or directories that may be created during command execution
   * are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
   * bytes).
   *
   * An output file cannot be duplicated, be a parent of another output file, or
   * have the same path as any of the listed output directories.
   *
   * Directories leading up to the output files are created by the worker prior
   * to execution, even if they are not explicitly part of the input root.
   *
   * DEPRECATED since v2.1: Use `output_paths` instead.
   * 
* * repeated string output_files = 3; * @return The count of outputFiles. */ public int getOutputFilesCount() { return outputFiles_.size(); } /** *
   * A list of the output files that the client expects to retrieve from the
   * action. Only the listed files, as well as directories listed in
   * `output_directories`, will be returned to the client as output.
   * Other files or directories that may be created during command execution
   * are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
   * bytes).
   *
   * An output file cannot be duplicated, be a parent of another output file, or
   * have the same path as any of the listed output directories.
   *
   * Directories leading up to the output files are created by the worker prior
   * to execution, even if they are not explicitly part of the input root.
   *
   * DEPRECATED since v2.1: Use `output_paths` instead.
   * 
* * repeated string output_files = 3; * @param index The index of the element to return. * @return The outputFiles at the given index. */ public java.lang.String getOutputFiles(int index) { return outputFiles_.get(index); } /** *
   * A list of the output files that the client expects to retrieve from the
   * action. Only the listed files, as well as directories listed in
   * `output_directories`, will be returned to the client as output.
   * Other files or directories that may be created during command execution
   * are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
   * bytes).
   *
   * An output file cannot be duplicated, be a parent of another output file, or
   * have the same path as any of the listed output directories.
   *
   * Directories leading up to the output files are created by the worker prior
   * to execution, even if they are not explicitly part of the input root.
   *
   * DEPRECATED since v2.1: Use `output_paths` instead.
   * 
* * repeated string output_files = 3; * @param index The index of the value to return. * @return The bytes of the outputFiles at the given index. */ public com.google.protobuf.ByteString getOutputFilesBytes(int index) { return outputFiles_.getByteString(index); } public static final int OUTPUT_DIRECTORIES_FIELD_NUMBER = 4; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList outputDirectories_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of the output directories that the client expects to retrieve from
   * the action. Only the listed directories will be returned (an entire
   * directory structure will be returned as a
   * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
   * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
   * well as files listed in `output_files`. Other files or directories that
   * may be created during command execution are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path. The special value of empty string is allowed,
   * although not recommended, and can be used to capture the entire working
   * directory tree, including inputs.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
   * bytes).
   *
   * An output directory cannot be duplicated or have the same path as any of
   * the listed output files. An output directory is allowed to be a parent of
   * another output directory.
   *
   * Directories leading up to the output directories (but not the output
   * directories themselves) are created by the worker prior to execution, even
   * if they are not explicitly part of the input root.
   *
   * DEPRECATED since 2.1: Use `output_paths` instead.
   * 
* * repeated string output_directories = 4; * @return A list containing the outputDirectories. */ public com.google.protobuf.ProtocolStringList getOutputDirectoriesList() { return outputDirectories_; } /** *
   * A list of the output directories that the client expects to retrieve from
   * the action. Only the listed directories will be returned (an entire
   * directory structure will be returned as a
   * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
   * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
   * well as files listed in `output_files`. Other files or directories that
   * may be created during command execution are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path. The special value of empty string is allowed,
   * although not recommended, and can be used to capture the entire working
   * directory tree, including inputs.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
   * bytes).
   *
   * An output directory cannot be duplicated or have the same path as any of
   * the listed output files. An output directory is allowed to be a parent of
   * another output directory.
   *
   * Directories leading up to the output directories (but not the output
   * directories themselves) are created by the worker prior to execution, even
   * if they are not explicitly part of the input root.
   *
   * DEPRECATED since 2.1: Use `output_paths` instead.
   * 
* * repeated string output_directories = 4; * @return The count of outputDirectories. */ public int getOutputDirectoriesCount() { return outputDirectories_.size(); } /** *
   * A list of the output directories that the client expects to retrieve from
   * the action. Only the listed directories will be returned (an entire
   * directory structure will be returned as a
   * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
   * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
   * well as files listed in `output_files`. Other files or directories that
   * may be created during command execution are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path. The special value of empty string is allowed,
   * although not recommended, and can be used to capture the entire working
   * directory tree, including inputs.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
   * bytes).
   *
   * An output directory cannot be duplicated or have the same path as any of
   * the listed output files. An output directory is allowed to be a parent of
   * another output directory.
   *
   * Directories leading up to the output directories (but not the output
   * directories themselves) are created by the worker prior to execution, even
   * if they are not explicitly part of the input root.
   *
   * DEPRECATED since 2.1: Use `output_paths` instead.
   * 
* * repeated string output_directories = 4; * @param index The index of the element to return. * @return The outputDirectories at the given index. */ public java.lang.String getOutputDirectories(int index) { return outputDirectories_.get(index); } /** *
   * A list of the output directories that the client expects to retrieve from
   * the action. Only the listed directories will be returned (an entire
   * directory structure will be returned as a
   * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
   * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
   * well as files listed in `output_files`. Other files or directories that
   * may be created during command execution are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path. The special value of empty string is allowed,
   * although not recommended, and can be used to capture the entire working
   * directory tree, including inputs.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
   * bytes).
   *
   * An output directory cannot be duplicated or have the same path as any of
   * the listed output files. An output directory is allowed to be a parent of
   * another output directory.
   *
   * Directories leading up to the output directories (but not the output
   * directories themselves) are created by the worker prior to execution, even
   * if they are not explicitly part of the input root.
   *
   * DEPRECATED since 2.1: Use `output_paths` instead.
   * 
* * repeated string output_directories = 4; * @param index The index of the value to return. * @return The bytes of the outputDirectories at the given index. */ public com.google.protobuf.ByteString getOutputDirectoriesBytes(int index) { return outputDirectories_.getByteString(index); } public static final int OUTPUT_PATHS_FIELD_NUMBER = 7; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList outputPaths_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of the output paths that the client expects to retrieve from the
   * action. Only the listed paths will be returned to the client as output.
   * The type of the output (file or directory) is not specified, and will be
   * determined by the server after action execution. If the resulting path is
   * a file, it will be returned in an
   * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
   * If the path is a directory, the entire directory structure will be returned
   * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
   * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
   * Other files or directories that may be created during command execution
   * are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be deduplicated and sorted lexicographically by code point (or,
   * equivalently, by UTF-8 bytes).
   *
   * Directories leading up to the output paths are created by the worker prior
   * to execution, even if they are not explicitly part of the input root.
   *
   * New in v2.1: this field supersedes the DEPRECATED `output_files` and
   * `output_directories` fields. If `output_paths` is used, `output_files` and
   * `output_directories` will be ignored!
   * 
* * repeated string output_paths = 7; * @return A list containing the outputPaths. */ public com.google.protobuf.ProtocolStringList getOutputPathsList() { return outputPaths_; } /** *
   * A list of the output paths that the client expects to retrieve from the
   * action. Only the listed paths will be returned to the client as output.
   * The type of the output (file or directory) is not specified, and will be
   * determined by the server after action execution. If the resulting path is
   * a file, it will be returned in an
   * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
   * If the path is a directory, the entire directory structure will be returned
   * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
   * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
   * Other files or directories that may be created during command execution
   * are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be deduplicated and sorted lexicographically by code point (or,
   * equivalently, by UTF-8 bytes).
   *
   * Directories leading up to the output paths are created by the worker prior
   * to execution, even if they are not explicitly part of the input root.
   *
   * New in v2.1: this field supersedes the DEPRECATED `output_files` and
   * `output_directories` fields. If `output_paths` is used, `output_files` and
   * `output_directories` will be ignored!
   * 
* * repeated string output_paths = 7; * @return The count of outputPaths. */ public int getOutputPathsCount() { return outputPaths_.size(); } /** *
   * A list of the output paths that the client expects to retrieve from the
   * action. Only the listed paths will be returned to the client as output.
   * The type of the output (file or directory) is not specified, and will be
   * determined by the server after action execution. If the resulting path is
   * a file, it will be returned in an
   * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
   * If the path is a directory, the entire directory structure will be returned
   * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
   * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
   * Other files or directories that may be created during command execution
   * are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be deduplicated and sorted lexicographically by code point (or,
   * equivalently, by UTF-8 bytes).
   *
   * Directories leading up to the output paths are created by the worker prior
   * to execution, even if they are not explicitly part of the input root.
   *
   * New in v2.1: this field supersedes the DEPRECATED `output_files` and
   * `output_directories` fields. If `output_paths` is used, `output_files` and
   * `output_directories` will be ignored!
   * 
* * repeated string output_paths = 7; * @param index The index of the element to return. * @return The outputPaths at the given index. */ public java.lang.String getOutputPaths(int index) { return outputPaths_.get(index); } /** *
   * A list of the output paths that the client expects to retrieve from the
   * action. Only the listed paths will be returned to the client as output.
   * The type of the output (file or directory) is not specified, and will be
   * determined by the server after action execution. If the resulting path is
   * a file, it will be returned in an
   * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
   * If the path is a directory, the entire directory structure will be returned
   * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
   * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
   * Other files or directories that may be created during command execution
   * are discarded.
   *
   * The paths are relative to the working directory of the action execution.
   * The paths are specified using a single forward slash (`/`) as a path
   * separator, even if the execution platform natively uses a different
   * separator. The path MUST NOT include a trailing slash, nor a leading slash,
   * being a relative path.
   *
   * In order to ensure consistent hashing of the same Action, the output paths
   * MUST be deduplicated and sorted lexicographically by code point (or,
   * equivalently, by UTF-8 bytes).
   *
   * Directories leading up to the output paths are created by the worker prior
   * to execution, even if they are not explicitly part of the input root.
   *
   * New in v2.1: this field supersedes the DEPRECATED `output_files` and
   * `output_directories` fields. If `output_paths` is used, `output_files` and
   * `output_directories` will be ignored!
   * 
* * repeated string output_paths = 7; * @param index The index of the value to return. * @return The bytes of the outputPaths at the given index. */ public com.google.protobuf.ByteString getOutputPathsBytes(int index) { return outputPaths_.getByteString(index); } public static final int PLATFORM_FIELD_NUMBER = 5; private build.bazel.remote.execution.v2.Platform platform_; /** *
   * The platform requirements for the execution environment. The server MAY
   * choose to execute the action on any worker satisfying the requirements, so
   * the client SHOULD ensure that running the action on any such worker will
   * have the same result.  A detailed lexicon for this can be found in the
   * accompanying platform.md.
   * DEPRECATED as of v2.2: platform properties are now specified directly in
   * the action. See documentation note in the
   * [Action][build.bazel.remote.execution.v2.Action] for migration.
   * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; * @return Whether the platform field is set. */ @java.lang.Override public boolean hasPlatform() { return ((bitField0_ & 0x00000001) != 0); } /** *
   * The platform requirements for the execution environment. The server MAY
   * choose to execute the action on any worker satisfying the requirements, so
   * the client SHOULD ensure that running the action on any such worker will
   * have the same result.  A detailed lexicon for this can be found in the
   * accompanying platform.md.
   * DEPRECATED as of v2.2: platform properties are now specified directly in
   * the action. See documentation note in the
   * [Action][build.bazel.remote.execution.v2.Action] for migration.
   * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; * @return The platform. */ @java.lang.Override public build.bazel.remote.execution.v2.Platform getPlatform() { return platform_ == null ? build.bazel.remote.execution.v2.Platform.getDefaultInstance() : platform_; } /** *
   * The platform requirements for the execution environment. The server MAY
   * choose to execute the action on any worker satisfying the requirements, so
   * the client SHOULD ensure that running the action on any such worker will
   * have the same result.  A detailed lexicon for this can be found in the
   * accompanying platform.md.
   * DEPRECATED as of v2.2: platform properties are now specified directly in
   * the action. See documentation note in the
   * [Action][build.bazel.remote.execution.v2.Action] for migration.
   * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; */ @java.lang.Override public build.bazel.remote.execution.v2.PlatformOrBuilder getPlatformOrBuilder() { return platform_ == null ? build.bazel.remote.execution.v2.Platform.getDefaultInstance() : platform_; } public static final int WORKING_DIRECTORY_FIELD_NUMBER = 6; @SuppressWarnings("serial") private volatile java.lang.Object workingDirectory_ = ""; /** *
   * The working directory, relative to the input root, for the command to run
   * in. It must be a directory which exists in the input tree. If it is left
   * empty, then the action is run in the input root.
   * 
* * string working_directory = 6; * @return The workingDirectory. */ @java.lang.Override public java.lang.String getWorkingDirectory() { java.lang.Object ref = workingDirectory_; 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(); workingDirectory_ = s; return s; } } /** *
   * The working directory, relative to the input root, for the command to run
   * in. It must be a directory which exists in the input tree. If it is left
   * empty, then the action is run in the input root.
   * 
* * string working_directory = 6; * @return The bytes for workingDirectory. */ @java.lang.Override public com.google.protobuf.ByteString getWorkingDirectoryBytes() { java.lang.Object ref = workingDirectory_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); workingDirectory_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int OUTPUT_NODE_PROPERTIES_FIELD_NUMBER = 8; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList outputNodeProperties_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of keys for node properties the client expects to retrieve for
   * output files and directories. Keys are either names of string-based
   * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
   * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
   * In order to ensure that equivalent `Action`s always hash to the same
   * value, the node properties MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   *
   * The interpretation of string-based properties is server-dependent. If a
   * property is not recognized by the server, the server will return an
   * `INVALID_ARGUMENT`.
   * 
* * repeated string output_node_properties = 8; * @return A list containing the outputNodeProperties. */ public com.google.protobuf.ProtocolStringList getOutputNodePropertiesList() { return outputNodeProperties_; } /** *
   * A list of keys for node properties the client expects to retrieve for
   * output files and directories. Keys are either names of string-based
   * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
   * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
   * In order to ensure that equivalent `Action`s always hash to the same
   * value, the node properties MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   *
   * The interpretation of string-based properties is server-dependent. If a
   * property is not recognized by the server, the server will return an
   * `INVALID_ARGUMENT`.
   * 
* * repeated string output_node_properties = 8; * @return The count of outputNodeProperties. */ public int getOutputNodePropertiesCount() { return outputNodeProperties_.size(); } /** *
   * A list of keys for node properties the client expects to retrieve for
   * output files and directories. Keys are either names of string-based
   * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
   * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
   * In order to ensure that equivalent `Action`s always hash to the same
   * value, the node properties MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   *
   * The interpretation of string-based properties is server-dependent. If a
   * property is not recognized by the server, the server will return an
   * `INVALID_ARGUMENT`.
   * 
* * repeated string output_node_properties = 8; * @param index The index of the element to return. * @return The outputNodeProperties at the given index. */ public java.lang.String getOutputNodeProperties(int index) { return outputNodeProperties_.get(index); } /** *
   * A list of keys for node properties the client expects to retrieve for
   * output files and directories. Keys are either names of string-based
   * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
   * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
   * In order to ensure that equivalent `Action`s always hash to the same
   * value, the node properties MUST be lexicographically sorted by name.
   * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
   *
   * The interpretation of string-based properties is server-dependent. If a
   * property is not recognized by the server, the server will return an
   * `INVALID_ARGUMENT`.
   * 
* * repeated string output_node_properties = 8; * @param index The index of the value to return. * @return The bytes of the outputNodeProperties at the given index. */ public com.google.protobuf.ByteString getOutputNodePropertiesBytes(int index) { return outputNodeProperties_.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 < arguments_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, arguments_.getRaw(i)); } for (int i = 0; i < environmentVariables_.size(); i++) { output.writeMessage(2, environmentVariables_.get(i)); } for (int i = 0; i < outputFiles_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, outputFiles_.getRaw(i)); } for (int i = 0; i < outputDirectories_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, outputDirectories_.getRaw(i)); } if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(5, getPlatform()); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(workingDirectory_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 6, workingDirectory_); } for (int i = 0; i < outputPaths_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 7, outputPaths_.getRaw(i)); } for (int i = 0; i < outputNodeProperties_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 8, outputNodeProperties_.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 < arguments_.size(); i++) { dataSize += computeStringSizeNoTag(arguments_.getRaw(i)); } size += dataSize; size += 1 * getArgumentsList().size(); } for (int i = 0; i < environmentVariables_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, environmentVariables_.get(i)); } { int dataSize = 0; for (int i = 0; i < outputFiles_.size(); i++) { dataSize += computeStringSizeNoTag(outputFiles_.getRaw(i)); } size += dataSize; size += 1 * getOutputFilesList().size(); } { int dataSize = 0; for (int i = 0; i < outputDirectories_.size(); i++) { dataSize += computeStringSizeNoTag(outputDirectories_.getRaw(i)); } size += dataSize; size += 1 * getOutputDirectoriesList().size(); } if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getPlatform()); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(workingDirectory_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, workingDirectory_); } { int dataSize = 0; for (int i = 0; i < outputPaths_.size(); i++) { dataSize += computeStringSizeNoTag(outputPaths_.getRaw(i)); } size += dataSize; size += 1 * getOutputPathsList().size(); } { int dataSize = 0; for (int i = 0; i < outputNodeProperties_.size(); i++) { dataSize += computeStringSizeNoTag(outputNodeProperties_.getRaw(i)); } size += dataSize; size += 1 * getOutputNodePropertiesList().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 build.bazel.remote.execution.v2.Command)) { return super.equals(obj); } build.bazel.remote.execution.v2.Command other = (build.bazel.remote.execution.v2.Command) obj; if (!getArgumentsList() .equals(other.getArgumentsList())) return false; if (!getEnvironmentVariablesList() .equals(other.getEnvironmentVariablesList())) return false; if (!getOutputFilesList() .equals(other.getOutputFilesList())) return false; if (!getOutputDirectoriesList() .equals(other.getOutputDirectoriesList())) return false; if (!getOutputPathsList() .equals(other.getOutputPathsList())) return false; if (hasPlatform() != other.hasPlatform()) return false; if (hasPlatform()) { if (!getPlatform() .equals(other.getPlatform())) return false; } if (!getWorkingDirectory() .equals(other.getWorkingDirectory())) return false; if (!getOutputNodePropertiesList() .equals(other.getOutputNodePropertiesList())) 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 (getArgumentsCount() > 0) { hash = (37 * hash) + ARGUMENTS_FIELD_NUMBER; hash = (53 * hash) + getArgumentsList().hashCode(); } if (getEnvironmentVariablesCount() > 0) { hash = (37 * hash) + ENVIRONMENT_VARIABLES_FIELD_NUMBER; hash = (53 * hash) + getEnvironmentVariablesList().hashCode(); } if (getOutputFilesCount() > 0) { hash = (37 * hash) + OUTPUT_FILES_FIELD_NUMBER; hash = (53 * hash) + getOutputFilesList().hashCode(); } if (getOutputDirectoriesCount() > 0) { hash = (37 * hash) + OUTPUT_DIRECTORIES_FIELD_NUMBER; hash = (53 * hash) + getOutputDirectoriesList().hashCode(); } if (getOutputPathsCount() > 0) { hash = (37 * hash) + OUTPUT_PATHS_FIELD_NUMBER; hash = (53 * hash) + getOutputPathsList().hashCode(); } if (hasPlatform()) { hash = (37 * hash) + PLATFORM_FIELD_NUMBER; hash = (53 * hash) + getPlatform().hashCode(); } hash = (37 * hash) + WORKING_DIRECTORY_FIELD_NUMBER; hash = (53 * hash) + getWorkingDirectory().hashCode(); if (getOutputNodePropertiesCount() > 0) { hash = (37 * hash) + OUTPUT_NODE_PROPERTIES_FIELD_NUMBER; hash = (53 * hash) + getOutputNodePropertiesList().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static build.bazel.remote.execution.v2.Command parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static build.bazel.remote.execution.v2.Command parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static build.bazel.remote.execution.v2.Command parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static build.bazel.remote.execution.v2.Command parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static build.bazel.remote.execution.v2.Command parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static build.bazel.remote.execution.v2.Command parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static build.bazel.remote.execution.v2.Command parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static build.bazel.remote.execution.v2.Command 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 build.bazel.remote.execution.v2.Command parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static build.bazel.remote.execution.v2.Command 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 build.bazel.remote.execution.v2.Command parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static build.bazel.remote.execution.v2.Command 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(build.bazel.remote.execution.v2.Command 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; } /** *
   * A `Command` is the actual command executed by a worker running an
   * [Action][build.bazel.remote.execution.v2.Action] and specifications of its
   * environment.
   *
   * Except as otherwise required, the environment (such as which system
   * libraries or binaries are available, and what filesystems are mounted where)
   * is defined by and specific to the implementation of the remote execution API.
   * 
* * Protobuf type {@code build.bazel.remote.execution.v2.Command} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:build.bazel.remote.execution.v2.Command) build.bazel.remote.execution.v2.CommandOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_fieldAccessorTable .ensureFieldAccessorsInitialized( build.bazel.remote.execution.v2.Command.class, build.bazel.remote.execution.v2.Command.Builder.class); } // Construct using build.bazel.remote.execution.v2.Command.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getEnvironmentVariablesFieldBuilder(); getPlatformFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; arguments_ = com.google.protobuf.LazyStringArrayList.emptyList(); if (environmentVariablesBuilder_ == null) { environmentVariables_ = java.util.Collections.emptyList(); } else { environmentVariables_ = null; environmentVariablesBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); outputFiles_ = com.google.protobuf.LazyStringArrayList.emptyList(); outputDirectories_ = com.google.protobuf.LazyStringArrayList.emptyList(); outputPaths_ = com.google.protobuf.LazyStringArrayList.emptyList(); platform_ = null; if (platformBuilder_ != null) { platformBuilder_.dispose(); platformBuilder_ = null; } workingDirectory_ = ""; outputNodeProperties_ = com.google.protobuf.LazyStringArrayList.emptyList(); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_Command_descriptor; } @java.lang.Override public build.bazel.remote.execution.v2.Command getDefaultInstanceForType() { return build.bazel.remote.execution.v2.Command.getDefaultInstance(); } @java.lang.Override public build.bazel.remote.execution.v2.Command build() { build.bazel.remote.execution.v2.Command result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public build.bazel.remote.execution.v2.Command buildPartial() { build.bazel.remote.execution.v2.Command result = new build.bazel.remote.execution.v2.Command(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(build.bazel.remote.execution.v2.Command result) { if (environmentVariablesBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { environmentVariables_ = java.util.Collections.unmodifiableList(environmentVariables_); bitField0_ = (bitField0_ & ~0x00000002); } result.environmentVariables_ = environmentVariables_; } else { result.environmentVariables_ = environmentVariablesBuilder_.build(); } } private void buildPartial0(build.bazel.remote.execution.v2.Command result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { arguments_.makeImmutable(); result.arguments_ = arguments_; } if (((from_bitField0_ & 0x00000004) != 0)) { outputFiles_.makeImmutable(); result.outputFiles_ = outputFiles_; } if (((from_bitField0_ & 0x00000008) != 0)) { outputDirectories_.makeImmutable(); result.outputDirectories_ = outputDirectories_; } if (((from_bitField0_ & 0x00000010) != 0)) { outputPaths_.makeImmutable(); result.outputPaths_ = outputPaths_; } int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000020) != 0)) { result.platform_ = platformBuilder_ == null ? platform_ : platformBuilder_.build(); to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000040) != 0)) { result.workingDirectory_ = workingDirectory_; } if (((from_bitField0_ & 0x00000080) != 0)) { outputNodeProperties_.makeImmutable(); result.outputNodeProperties_ = outputNodeProperties_; } result.bitField0_ |= to_bitField0_; } @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 build.bazel.remote.execution.v2.Command) { return mergeFrom((build.bazel.remote.execution.v2.Command)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(build.bazel.remote.execution.v2.Command other) { if (other == build.bazel.remote.execution.v2.Command.getDefaultInstance()) return this; if (!other.arguments_.isEmpty()) { if (arguments_.isEmpty()) { arguments_ = other.arguments_; bitField0_ |= 0x00000001; } else { ensureArgumentsIsMutable(); arguments_.addAll(other.arguments_); } onChanged(); } if (environmentVariablesBuilder_ == null) { if (!other.environmentVariables_.isEmpty()) { if (environmentVariables_.isEmpty()) { environmentVariables_ = other.environmentVariables_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureEnvironmentVariablesIsMutable(); environmentVariables_.addAll(other.environmentVariables_); } onChanged(); } } else { if (!other.environmentVariables_.isEmpty()) { if (environmentVariablesBuilder_.isEmpty()) { environmentVariablesBuilder_.dispose(); environmentVariablesBuilder_ = null; environmentVariables_ = other.environmentVariables_; bitField0_ = (bitField0_ & ~0x00000002); environmentVariablesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getEnvironmentVariablesFieldBuilder() : null; } else { environmentVariablesBuilder_.addAllMessages(other.environmentVariables_); } } } if (!other.outputFiles_.isEmpty()) { if (outputFiles_.isEmpty()) { outputFiles_ = other.outputFiles_; bitField0_ |= 0x00000004; } else { ensureOutputFilesIsMutable(); outputFiles_.addAll(other.outputFiles_); } onChanged(); } if (!other.outputDirectories_.isEmpty()) { if (outputDirectories_.isEmpty()) { outputDirectories_ = other.outputDirectories_; bitField0_ |= 0x00000008; } else { ensureOutputDirectoriesIsMutable(); outputDirectories_.addAll(other.outputDirectories_); } onChanged(); } if (!other.outputPaths_.isEmpty()) { if (outputPaths_.isEmpty()) { outputPaths_ = other.outputPaths_; bitField0_ |= 0x00000010; } else { ensureOutputPathsIsMutable(); outputPaths_.addAll(other.outputPaths_); } onChanged(); } if (other.hasPlatform()) { mergePlatform(other.getPlatform()); } if (!other.getWorkingDirectory().isEmpty()) { workingDirectory_ = other.workingDirectory_; bitField0_ |= 0x00000040; onChanged(); } if (!other.outputNodeProperties_.isEmpty()) { if (outputNodeProperties_.isEmpty()) { outputNodeProperties_ = other.outputNodeProperties_; bitField0_ |= 0x00000080; } else { ensureOutputNodePropertiesIsMutable(); outputNodeProperties_.addAll(other.outputNodeProperties_); } 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(); ensureArgumentsIsMutable(); arguments_.add(s); break; } // case 10 case 18: { build.bazel.remote.execution.v2.Command.EnvironmentVariable m = input.readMessage( build.bazel.remote.execution.v2.Command.EnvironmentVariable.parser(), extensionRegistry); if (environmentVariablesBuilder_ == null) { ensureEnvironmentVariablesIsMutable(); environmentVariables_.add(m); } else { environmentVariablesBuilder_.addMessage(m); } break; } // case 18 case 26: { java.lang.String s = input.readStringRequireUtf8(); ensureOutputFilesIsMutable(); outputFiles_.add(s); break; } // case 26 case 34: { java.lang.String s = input.readStringRequireUtf8(); ensureOutputDirectoriesIsMutable(); outputDirectories_.add(s); break; } // case 34 case 42: { input.readMessage( getPlatformFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000020; break; } // case 42 case 50: { workingDirectory_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000040; break; } // case 50 case 58: { java.lang.String s = input.readStringRequireUtf8(); ensureOutputPathsIsMutable(); outputPaths_.add(s); break; } // case 58 case 66: { java.lang.String s = input.readStringRequireUtf8(); ensureOutputNodePropertiesIsMutable(); outputNodeProperties_.add(s); break; } // case 66 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.LazyStringArrayList arguments_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureArgumentsIsMutable() { if (!arguments_.isModifiable()) { arguments_ = new com.google.protobuf.LazyStringArrayList(arguments_); } bitField0_ |= 0x00000001; } /** *
     * The arguments to the command. The first argument must be the path to the
     * executable, which must be either a relative path, in which case it is
     * evaluated with respect to the input root, or an absolute path.
     * 
* * repeated string arguments = 1; * @return A list containing the arguments. */ public com.google.protobuf.ProtocolStringList getArgumentsList() { arguments_.makeImmutable(); return arguments_; } /** *
     * The arguments to the command. The first argument must be the path to the
     * executable, which must be either a relative path, in which case it is
     * evaluated with respect to the input root, or an absolute path.
     * 
* * repeated string arguments = 1; * @return The count of arguments. */ public int getArgumentsCount() { return arguments_.size(); } /** *
     * The arguments to the command. The first argument must be the path to the
     * executable, which must be either a relative path, in which case it is
     * evaluated with respect to the input root, or an absolute path.
     * 
* * repeated string arguments = 1; * @param index The index of the element to return. * @return The arguments at the given index. */ public java.lang.String getArguments(int index) { return arguments_.get(index); } /** *
     * The arguments to the command. The first argument must be the path to the
     * executable, which must be either a relative path, in which case it is
     * evaluated with respect to the input root, or an absolute path.
     * 
* * repeated string arguments = 1; * @param index The index of the value to return. * @return The bytes of the arguments at the given index. */ public com.google.protobuf.ByteString getArgumentsBytes(int index) { return arguments_.getByteString(index); } /** *
     * The arguments to the command. The first argument must be the path to the
     * executable, which must be either a relative path, in which case it is
     * evaluated with respect to the input root, or an absolute path.
     * 
* * repeated string arguments = 1; * @param index The index to set the value at. * @param value The arguments to set. * @return This builder for chaining. */ public Builder setArguments( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureArgumentsIsMutable(); arguments_.set(index, value); bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * The arguments to the command. The first argument must be the path to the
     * executable, which must be either a relative path, in which case it is
     * evaluated with respect to the input root, or an absolute path.
     * 
* * repeated string arguments = 1; * @param value The arguments to add. * @return This builder for chaining. */ public Builder addArguments( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureArgumentsIsMutable(); arguments_.add(value); bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * The arguments to the command. The first argument must be the path to the
     * executable, which must be either a relative path, in which case it is
     * evaluated with respect to the input root, or an absolute path.
     * 
* * repeated string arguments = 1; * @param values The arguments to add. * @return This builder for chaining. */ public Builder addAllArguments( java.lang.Iterable values) { ensureArgumentsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, arguments_); bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * The arguments to the command. The first argument must be the path to the
     * executable, which must be either a relative path, in which case it is
     * evaluated with respect to the input root, or an absolute path.
     * 
* * repeated string arguments = 1; * @return This builder for chaining. */ public Builder clearArguments() { arguments_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00000001);; onChanged(); return this; } /** *
     * The arguments to the command. The first argument must be the path to the
     * executable, which must be either a relative path, in which case it is
     * evaluated with respect to the input root, or an absolute path.
     * 
* * repeated string arguments = 1; * @param value The bytes of the arguments to add. * @return This builder for chaining. */ public Builder addArgumentsBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureArgumentsIsMutable(); arguments_.add(value); bitField0_ |= 0x00000001; onChanged(); return this; } private java.util.List environmentVariables_ = java.util.Collections.emptyList(); private void ensureEnvironmentVariablesIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { environmentVariables_ = new java.util.ArrayList(environmentVariables_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.Command.EnvironmentVariable, build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder, build.bazel.remote.execution.v2.Command.EnvironmentVariableOrBuilder> environmentVariablesBuilder_; /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public java.util.List getEnvironmentVariablesList() { if (environmentVariablesBuilder_ == null) { return java.util.Collections.unmodifiableList(environmentVariables_); } else { return environmentVariablesBuilder_.getMessageList(); } } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public int getEnvironmentVariablesCount() { if (environmentVariablesBuilder_ == null) { return environmentVariables_.size(); } else { return environmentVariablesBuilder_.getCount(); } } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public build.bazel.remote.execution.v2.Command.EnvironmentVariable getEnvironmentVariables(int index) { if (environmentVariablesBuilder_ == null) { return environmentVariables_.get(index); } else { return environmentVariablesBuilder_.getMessage(index); } } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public Builder setEnvironmentVariables( int index, build.bazel.remote.execution.v2.Command.EnvironmentVariable value) { if (environmentVariablesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureEnvironmentVariablesIsMutable(); environmentVariables_.set(index, value); onChanged(); } else { environmentVariablesBuilder_.setMessage(index, value); } return this; } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public Builder setEnvironmentVariables( int index, build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder builderForValue) { if (environmentVariablesBuilder_ == null) { ensureEnvironmentVariablesIsMutable(); environmentVariables_.set(index, builderForValue.build()); onChanged(); } else { environmentVariablesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public Builder addEnvironmentVariables(build.bazel.remote.execution.v2.Command.EnvironmentVariable value) { if (environmentVariablesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureEnvironmentVariablesIsMutable(); environmentVariables_.add(value); onChanged(); } else { environmentVariablesBuilder_.addMessage(value); } return this; } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public Builder addEnvironmentVariables( int index, build.bazel.remote.execution.v2.Command.EnvironmentVariable value) { if (environmentVariablesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureEnvironmentVariablesIsMutable(); environmentVariables_.add(index, value); onChanged(); } else { environmentVariablesBuilder_.addMessage(index, value); } return this; } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public Builder addEnvironmentVariables( build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder builderForValue) { if (environmentVariablesBuilder_ == null) { ensureEnvironmentVariablesIsMutable(); environmentVariables_.add(builderForValue.build()); onChanged(); } else { environmentVariablesBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public Builder addEnvironmentVariables( int index, build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder builderForValue) { if (environmentVariablesBuilder_ == null) { ensureEnvironmentVariablesIsMutable(); environmentVariables_.add(index, builderForValue.build()); onChanged(); } else { environmentVariablesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public Builder addAllEnvironmentVariables( java.lang.Iterable values) { if (environmentVariablesBuilder_ == null) { ensureEnvironmentVariablesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, environmentVariables_); onChanged(); } else { environmentVariablesBuilder_.addAllMessages(values); } return this; } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public Builder clearEnvironmentVariables() { if (environmentVariablesBuilder_ == null) { environmentVariables_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { environmentVariablesBuilder_.clear(); } return this; } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public Builder removeEnvironmentVariables(int index) { if (environmentVariablesBuilder_ == null) { ensureEnvironmentVariablesIsMutable(); environmentVariables_.remove(index); onChanged(); } else { environmentVariablesBuilder_.remove(index); } return this; } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder getEnvironmentVariablesBuilder( int index) { return getEnvironmentVariablesFieldBuilder().getBuilder(index); } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public build.bazel.remote.execution.v2.Command.EnvironmentVariableOrBuilder getEnvironmentVariablesOrBuilder( int index) { if (environmentVariablesBuilder_ == null) { return environmentVariables_.get(index); } else { return environmentVariablesBuilder_.getMessageOrBuilder(index); } } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public java.util.List getEnvironmentVariablesOrBuilderList() { if (environmentVariablesBuilder_ != null) { return environmentVariablesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(environmentVariables_); } } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder addEnvironmentVariablesBuilder() { return getEnvironmentVariablesFieldBuilder().addBuilder( build.bazel.remote.execution.v2.Command.EnvironmentVariable.getDefaultInstance()); } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder addEnvironmentVariablesBuilder( int index) { return getEnvironmentVariablesFieldBuilder().addBuilder( index, build.bazel.remote.execution.v2.Command.EnvironmentVariable.getDefaultInstance()); } /** *
     * The environment variables to set when running the program. The worker may
     * provide its own default environment variables; these defaults can be
     * overridden using this field. Additional variables can also be specified.
     *
     * In order to ensure that equivalent
     * [Command][build.bazel.remote.execution.v2.Command]s always hash to the same
     * value, the environment variables MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     * 
* * repeated .build.bazel.remote.execution.v2.Command.EnvironmentVariable environment_variables = 2; */ public java.util.List getEnvironmentVariablesBuilderList() { return getEnvironmentVariablesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.Command.EnvironmentVariable, build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder, build.bazel.remote.execution.v2.Command.EnvironmentVariableOrBuilder> getEnvironmentVariablesFieldBuilder() { if (environmentVariablesBuilder_ == null) { environmentVariablesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.Command.EnvironmentVariable, build.bazel.remote.execution.v2.Command.EnvironmentVariable.Builder, build.bazel.remote.execution.v2.Command.EnvironmentVariableOrBuilder>( environmentVariables_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); environmentVariables_ = null; } return environmentVariablesBuilder_; } private com.google.protobuf.LazyStringArrayList outputFiles_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureOutputFilesIsMutable() { if (!outputFiles_.isModifiable()) { outputFiles_ = new com.google.protobuf.LazyStringArrayList(outputFiles_); } bitField0_ |= 0x00000004; } /** *
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * 
* * repeated string output_files = 3; * @return A list containing the outputFiles. */ public com.google.protobuf.ProtocolStringList getOutputFilesList() { outputFiles_.makeImmutable(); return outputFiles_; } /** *
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * 
* * repeated string output_files = 3; * @return The count of outputFiles. */ public int getOutputFilesCount() { return outputFiles_.size(); } /** *
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * 
* * repeated string output_files = 3; * @param index The index of the element to return. * @return The outputFiles at the given index. */ public java.lang.String getOutputFiles(int index) { return outputFiles_.get(index); } /** *
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * 
* * repeated string output_files = 3; * @param index The index of the value to return. * @return The bytes of the outputFiles at the given index. */ public com.google.protobuf.ByteString getOutputFilesBytes(int index) { return outputFiles_.getByteString(index); } /** *
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * 
* * repeated string output_files = 3; * @param index The index to set the value at. * @param value The outputFiles to set. * @return This builder for chaining. */ public Builder setOutputFiles( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureOutputFilesIsMutable(); outputFiles_.set(index, value); bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * 
* * repeated string output_files = 3; * @param value The outputFiles to add. * @return This builder for chaining. */ public Builder addOutputFiles( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureOutputFilesIsMutable(); outputFiles_.add(value); bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * 
* * repeated string output_files = 3; * @param values The outputFiles to add. * @return This builder for chaining. */ public Builder addAllOutputFiles( java.lang.Iterable values) { ensureOutputFilesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, outputFiles_); bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * 
* * repeated string output_files = 3; * @return This builder for chaining. */ public Builder clearOutputFiles() { outputFiles_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00000004);; onChanged(); return this; } /** *
     * A list of the output files that the client expects to retrieve from the
     * action. Only the listed files, as well as directories listed in
     * `output_directories`, will be returned to the client as output.
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output file cannot be duplicated, be a parent of another output file, or
     * have the same path as any of the listed output directories.
     *
     * Directories leading up to the output files are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * DEPRECATED since v2.1: Use `output_paths` instead.
     * 
* * repeated string output_files = 3; * @param value The bytes of the outputFiles to add. * @return This builder for chaining. */ public Builder addOutputFilesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureOutputFilesIsMutable(); outputFiles_.add(value); bitField0_ |= 0x00000004; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList outputDirectories_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureOutputDirectoriesIsMutable() { if (!outputDirectories_.isModifiable()) { outputDirectories_ = new com.google.protobuf.LazyStringArrayList(outputDirectories_); } bitField0_ |= 0x00000008; } /** *
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * 
* * repeated string output_directories = 4; * @return A list containing the outputDirectories. */ public com.google.protobuf.ProtocolStringList getOutputDirectoriesList() { outputDirectories_.makeImmutable(); return outputDirectories_; } /** *
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * 
* * repeated string output_directories = 4; * @return The count of outputDirectories. */ public int getOutputDirectoriesCount() { return outputDirectories_.size(); } /** *
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * 
* * repeated string output_directories = 4; * @param index The index of the element to return. * @return The outputDirectories at the given index. */ public java.lang.String getOutputDirectories(int index) { return outputDirectories_.get(index); } /** *
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * 
* * repeated string output_directories = 4; * @param index The index of the value to return. * @return The bytes of the outputDirectories at the given index. */ public com.google.protobuf.ByteString getOutputDirectoriesBytes(int index) { return outputDirectories_.getByteString(index); } /** *
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * 
* * repeated string output_directories = 4; * @param index The index to set the value at. * @param value The outputDirectories to set. * @return This builder for chaining. */ public Builder setOutputDirectories( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureOutputDirectoriesIsMutable(); outputDirectories_.set(index, value); bitField0_ |= 0x00000008; onChanged(); return this; } /** *
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * 
* * repeated string output_directories = 4; * @param value The outputDirectories to add. * @return This builder for chaining. */ public Builder addOutputDirectories( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureOutputDirectoriesIsMutable(); outputDirectories_.add(value); bitField0_ |= 0x00000008; onChanged(); return this; } /** *
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * 
* * repeated string output_directories = 4; * @param values The outputDirectories to add. * @return This builder for chaining. */ public Builder addAllOutputDirectories( java.lang.Iterable values) { ensureOutputDirectoriesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, outputDirectories_); bitField0_ |= 0x00000008; onChanged(); return this; } /** *
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * 
* * repeated string output_directories = 4; * @return This builder for chaining. */ public Builder clearOutputDirectories() { outputDirectories_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00000008);; onChanged(); return this; } /** *
     * A list of the output directories that the client expects to retrieve from
     * the action. Only the listed directories will be returned (an entire
     * directory structure will be returned as a
     * [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory]), as
     * well as files listed in `output_files`. Other files or directories that
     * may be created during command execution are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path. The special value of empty string is allowed,
     * although not recommended, and can be used to capture the entire working
     * directory tree, including inputs.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be sorted lexicographically by code point (or, equivalently, by UTF-8
     * bytes).
     *
     * An output directory cannot be duplicated or have the same path as any of
     * the listed output files. An output directory is allowed to be a parent of
     * another output directory.
     *
     * Directories leading up to the output directories (but not the output
     * directories themselves) are created by the worker prior to execution, even
     * if they are not explicitly part of the input root.
     *
     * DEPRECATED since 2.1: Use `output_paths` instead.
     * 
* * repeated string output_directories = 4; * @param value The bytes of the outputDirectories to add. * @return This builder for chaining. */ public Builder addOutputDirectoriesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureOutputDirectoriesIsMutable(); outputDirectories_.add(value); bitField0_ |= 0x00000008; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList outputPaths_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureOutputPathsIsMutable() { if (!outputPaths_.isModifiable()) { outputPaths_ = new com.google.protobuf.LazyStringArrayList(outputPaths_); } bitField0_ |= 0x00000010; } /** *
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * 
* * repeated string output_paths = 7; * @return A list containing the outputPaths. */ public com.google.protobuf.ProtocolStringList getOutputPathsList() { outputPaths_.makeImmutable(); return outputPaths_; } /** *
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * 
* * repeated string output_paths = 7; * @return The count of outputPaths. */ public int getOutputPathsCount() { return outputPaths_.size(); } /** *
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * 
* * repeated string output_paths = 7; * @param index The index of the element to return. * @return The outputPaths at the given index. */ public java.lang.String getOutputPaths(int index) { return outputPaths_.get(index); } /** *
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * 
* * repeated string output_paths = 7; * @param index The index of the value to return. * @return The bytes of the outputPaths at the given index. */ public com.google.protobuf.ByteString getOutputPathsBytes(int index) { return outputPaths_.getByteString(index); } /** *
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * 
* * repeated string output_paths = 7; * @param index The index to set the value at. * @param value The outputPaths to set. * @return This builder for chaining. */ public Builder setOutputPaths( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureOutputPathsIsMutable(); outputPaths_.set(index, value); bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * 
* * repeated string output_paths = 7; * @param value The outputPaths to add. * @return This builder for chaining. */ public Builder addOutputPaths( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureOutputPathsIsMutable(); outputPaths_.add(value); bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * 
* * repeated string output_paths = 7; * @param values The outputPaths to add. * @return This builder for chaining. */ public Builder addAllOutputPaths( java.lang.Iterable values) { ensureOutputPathsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, outputPaths_); bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * 
* * repeated string output_paths = 7; * @return This builder for chaining. */ public Builder clearOutputPaths() { outputPaths_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00000010);; onChanged(); return this; } /** *
     * A list of the output paths that the client expects to retrieve from the
     * action. Only the listed paths will be returned to the client as output.
     * The type of the output (file or directory) is not specified, and will be
     * determined by the server after action execution. If the resulting path is
     * a file, it will be returned in an
     * [OutputFile][build.bazel.remote.execution.v2.OutputFile]) typed field.
     * If the path is a directory, the entire directory structure will be returned
     * as a [Tree][build.bazel.remote.execution.v2.Tree] message digest, see
     * [OutputDirectory][build.bazel.remote.execution.v2.OutputDirectory])
     * Other files or directories that may be created during command execution
     * are discarded.
     *
     * The paths are relative to the working directory of the action execution.
     * The paths are specified using a single forward slash (`/`) as a path
     * separator, even if the execution platform natively uses a different
     * separator. The path MUST NOT include a trailing slash, nor a leading slash,
     * being a relative path.
     *
     * In order to ensure consistent hashing of the same Action, the output paths
     * MUST be deduplicated and sorted lexicographically by code point (or,
     * equivalently, by UTF-8 bytes).
     *
     * Directories leading up to the output paths are created by the worker prior
     * to execution, even if they are not explicitly part of the input root.
     *
     * New in v2.1: this field supersedes the DEPRECATED `output_files` and
     * `output_directories` fields. If `output_paths` is used, `output_files` and
     * `output_directories` will be ignored!
     * 
* * repeated string output_paths = 7; * @param value The bytes of the outputPaths to add. * @return This builder for chaining. */ public Builder addOutputPathsBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureOutputPathsIsMutable(); outputPaths_.add(value); bitField0_ |= 0x00000010; onChanged(); return this; } private build.bazel.remote.execution.v2.Platform platform_; private com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.Platform, build.bazel.remote.execution.v2.Platform.Builder, build.bazel.remote.execution.v2.PlatformOrBuilder> platformBuilder_; /** *
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; * @return Whether the platform field is set. */ public boolean hasPlatform() { return ((bitField0_ & 0x00000020) != 0); } /** *
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; * @return The platform. */ public build.bazel.remote.execution.v2.Platform getPlatform() { if (platformBuilder_ == null) { return platform_ == null ? build.bazel.remote.execution.v2.Platform.getDefaultInstance() : platform_; } else { return platformBuilder_.getMessage(); } } /** *
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; */ public Builder setPlatform(build.bazel.remote.execution.v2.Platform value) { if (platformBuilder_ == null) { if (value == null) { throw new NullPointerException(); } platform_ = value; } else { platformBuilder_.setMessage(value); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; */ public Builder setPlatform( build.bazel.remote.execution.v2.Platform.Builder builderForValue) { if (platformBuilder_ == null) { platform_ = builderForValue.build(); } else { platformBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; */ public Builder mergePlatform(build.bazel.remote.execution.v2.Platform value) { if (platformBuilder_ == null) { if (((bitField0_ & 0x00000020) != 0) && platform_ != null && platform_ != build.bazel.remote.execution.v2.Platform.getDefaultInstance()) { getPlatformBuilder().mergeFrom(value); } else { platform_ = value; } } else { platformBuilder_.mergeFrom(value); } if (platform_ != null) { bitField0_ |= 0x00000020; onChanged(); } return this; } /** *
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; */ public Builder clearPlatform() { bitField0_ = (bitField0_ & ~0x00000020); platform_ = null; if (platformBuilder_ != null) { platformBuilder_.dispose(); platformBuilder_ = null; } onChanged(); return this; } /** *
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; */ public build.bazel.remote.execution.v2.Platform.Builder getPlatformBuilder() { bitField0_ |= 0x00000020; onChanged(); return getPlatformFieldBuilder().getBuilder(); } /** *
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; */ public build.bazel.remote.execution.v2.PlatformOrBuilder getPlatformOrBuilder() { if (platformBuilder_ != null) { return platformBuilder_.getMessageOrBuilder(); } else { return platform_ == null ? build.bazel.remote.execution.v2.Platform.getDefaultInstance() : platform_; } } /** *
     * The platform requirements for the execution environment. The server MAY
     * choose to execute the action on any worker satisfying the requirements, so
     * the client SHOULD ensure that running the action on any such worker will
     * have the same result.  A detailed lexicon for this can be found in the
     * accompanying platform.md.
     * DEPRECATED as of v2.2: platform properties are now specified directly in
     * the action. See documentation note in the
     * [Action][build.bazel.remote.execution.v2.Action] for migration.
     * 
* * .build.bazel.remote.execution.v2.Platform platform = 5; */ private com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.Platform, build.bazel.remote.execution.v2.Platform.Builder, build.bazel.remote.execution.v2.PlatformOrBuilder> getPlatformFieldBuilder() { if (platformBuilder_ == null) { platformBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.Platform, build.bazel.remote.execution.v2.Platform.Builder, build.bazel.remote.execution.v2.PlatformOrBuilder>( getPlatform(), getParentForChildren(), isClean()); platform_ = null; } return platformBuilder_; } private java.lang.Object workingDirectory_ = ""; /** *
     * The working directory, relative to the input root, for the command to run
     * in. It must be a directory which exists in the input tree. If it is left
     * empty, then the action is run in the input root.
     * 
* * string working_directory = 6; * @return The workingDirectory. */ public java.lang.String getWorkingDirectory() { java.lang.Object ref = workingDirectory_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); workingDirectory_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * The working directory, relative to the input root, for the command to run
     * in. It must be a directory which exists in the input tree. If it is left
     * empty, then the action is run in the input root.
     * 
* * string working_directory = 6; * @return The bytes for workingDirectory. */ public com.google.protobuf.ByteString getWorkingDirectoryBytes() { java.lang.Object ref = workingDirectory_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); workingDirectory_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * The working directory, relative to the input root, for the command to run
     * in. It must be a directory which exists in the input tree. If it is left
     * empty, then the action is run in the input root.
     * 
* * string working_directory = 6; * @param value The workingDirectory to set. * @return This builder for chaining. */ public Builder setWorkingDirectory( java.lang.String value) { if (value == null) { throw new NullPointerException(); } workingDirectory_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** *
     * The working directory, relative to the input root, for the command to run
     * in. It must be a directory which exists in the input tree. If it is left
     * empty, then the action is run in the input root.
     * 
* * string working_directory = 6; * @return This builder for chaining. */ public Builder clearWorkingDirectory() { workingDirectory_ = getDefaultInstance().getWorkingDirectory(); bitField0_ = (bitField0_ & ~0x00000040); onChanged(); return this; } /** *
     * The working directory, relative to the input root, for the command to run
     * in. It must be a directory which exists in the input tree. If it is left
     * empty, then the action is run in the input root.
     * 
* * string working_directory = 6; * @param value The bytes for workingDirectory to set. * @return This builder for chaining. */ public Builder setWorkingDirectoryBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); workingDirectory_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList outputNodeProperties_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureOutputNodePropertiesIsMutable() { if (!outputNodeProperties_.isModifiable()) { outputNodeProperties_ = new com.google.protobuf.LazyStringArrayList(outputNodeProperties_); } bitField0_ |= 0x00000080; } /** *
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * 
* * repeated string output_node_properties = 8; * @return A list containing the outputNodeProperties. */ public com.google.protobuf.ProtocolStringList getOutputNodePropertiesList() { outputNodeProperties_.makeImmutable(); return outputNodeProperties_; } /** *
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * 
* * repeated string output_node_properties = 8; * @return The count of outputNodeProperties. */ public int getOutputNodePropertiesCount() { return outputNodeProperties_.size(); } /** *
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * 
* * repeated string output_node_properties = 8; * @param index The index of the element to return. * @return The outputNodeProperties at the given index. */ public java.lang.String getOutputNodeProperties(int index) { return outputNodeProperties_.get(index); } /** *
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * 
* * repeated string output_node_properties = 8; * @param index The index of the value to return. * @return The bytes of the outputNodeProperties at the given index. */ public com.google.protobuf.ByteString getOutputNodePropertiesBytes(int index) { return outputNodeProperties_.getByteString(index); } /** *
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * 
* * repeated string output_node_properties = 8; * @param index The index to set the value at. * @param value The outputNodeProperties to set. * @return This builder for chaining. */ public Builder setOutputNodeProperties( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureOutputNodePropertiesIsMutable(); outputNodeProperties_.set(index, value); bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * 
* * repeated string output_node_properties = 8; * @param value The outputNodeProperties to add. * @return This builder for chaining. */ public Builder addOutputNodeProperties( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureOutputNodePropertiesIsMutable(); outputNodeProperties_.add(value); bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * 
* * repeated string output_node_properties = 8; * @param values The outputNodeProperties to add. * @return This builder for chaining. */ public Builder addAllOutputNodeProperties( java.lang.Iterable values) { ensureOutputNodePropertiesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, outputNodeProperties_); bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * 
* * repeated string output_node_properties = 8; * @return This builder for chaining. */ public Builder clearOutputNodeProperties() { outputNodeProperties_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00000080);; onChanged(); return this; } /** *
     * A list of keys for node properties the client expects to retrieve for
     * output files and directories. Keys are either names of string-based
     * [NodeProperty][build.bazel.remote.execution.v2.NodeProperty] or
     * names of fields in [NodeProperties][build.bazel.remote.execution.v2.NodeProperties].
     * In order to ensure that equivalent `Action`s always hash to the same
     * value, the node properties MUST be lexicographically sorted by name.
     * Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.
     *
     * The interpretation of string-based properties is server-dependent. If a
     * property is not recognized by the server, the server will return an
     * `INVALID_ARGUMENT`.
     * 
* * repeated string output_node_properties = 8; * @param value The bytes of the outputNodeProperties to add. * @return This builder for chaining. */ public Builder addOutputNodePropertiesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureOutputNodePropertiesIsMutable(); outputNodeProperties_.add(value); bitField0_ |= 0x00000080; 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:build.bazel.remote.execution.v2.Command) } // @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.Command) private static final build.bazel.remote.execution.v2.Command DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new build.bazel.remote.execution.v2.Command(); } public static build.bazel.remote.execution.v2.Command getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Command 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 build.bazel.remote.execution.v2.Command getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy