content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: lot/transform.proto
  
  package apsara.odps.lot;
  
  public final class TransformProtos {
    private TransformProtos() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
    }
    public interface TransformOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required string Id = 1;
      boolean hasId();
      String getId();
      
      // required string ParentId = 2;
      boolean hasParentId();
      String getParentId();
      
      // repeated .apsara.odps.lot.ScalarExpression Parameters = 3;
      java.util.List<ExpressionProtos.ScalarExpression>
          getParametersList();
      ExpressionProtos.ScalarExpression getParameters(int index);
      int getParametersCount();
      java.util.List<? extends ExpressionProtos.ScalarExpressionOrBuilder>
          getParametersOrBuilderList();
      ExpressionProtos.ScalarExpressionOrBuilder getParametersOrBuilder(
          int index);
      
      // repeated group Resources = 4 {
      java.util.List<Transform.Resources>
          getResourcesList();
      Transform.Resources getResources(int index);
      int getResourcesCount();
      java.util.List<? extends Transform.ResourcesOrBuilder>
          getResourcesOrBuilderList();
      Transform.ResourcesOrBuilder getResourcesOrBuilder(
          int index);
      
      // optional .apsara.odps.lot.LanguageTransform LanguageTransform = 5;
      boolean hasLanguageTransform();
      LanguageTransformProtos.LanguageTransform getLanguageTransform();
      LanguageTransformProtos.LanguageTransformOrBuilder getLanguageTransformOrBuilder();
      
      // optional .apsara.odps.lot.StreamingTransform StreamingTransform = 6;
      boolean hasStreamingTransform();
      StreamingTransformProtos.StreamingTransform getStreamingTransform();
      StreamingTransformProtos.StreamingTransformOrBuilder getStreamingTransformOrBuilder();
      
      // required .apsara.odps.lot.Schema Schema = 7;
      boolean hasSchema();
      SchemaProtos.Schema getSchema();
      SchemaProtos.SchemaOrBuilder getSchemaOrBuilder();
      
      // repeated .apsara.odps.lot.Volume Volumes = 8;
      java.util.List<VolumeProtos.Volume>
          getVolumesList();
      VolumeProtos.Volume getVolumes(int index);
      int getVolumesCount();
      java.util.List<? extends VolumeProtos.VolumeOrBuilder>
          getVolumesOrBuilderList();
      VolumeProtos.VolumeOrBuilder getVolumesOrBuilder(
          int index);
    }
    public static final class Transform extends
        com.google.protobuf.GeneratedMessage
        implements TransformOrBuilder {
      // Use Transform.newBuilder() to construct.
      private Transform(Builder builder) {
        super(builder);
      }
      private Transform(boolean noInit) {}
      
      private static final Transform defaultInstance;
      public static Transform getDefaultInstance() {
        return defaultInstance;
      }
      
      public Transform getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return TransformProtos.internal_static_apsara_odps_lot_Transform_descriptor;
      }
      
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return TransformProtos.internal_static_apsara_odps_lot_Transform_fieldAccessorTable;
      }
      
      public interface ResourcesOrBuilder
          extends com.google.protobuf.MessageOrBuilder {
        
        // required string Project = 1;
        boolean hasProject();
        String getProject();
        
        // required string ResourceName = 2;
        boolean hasResourceName();
        String getResourceName();
      }
      public static final class Resources extends
          com.google.protobuf.GeneratedMessage
          implements ResourcesOrBuilder {
        // Use Resources.newBuilder() to construct.
        private Resources(Builder builder) {
          super(builder);
        }
        private Resources(boolean noInit) {}
        
        private static final Resources defaultInstance;
        public static Resources getDefaultInstance() {
          return defaultInstance;
        }
        
        public Resources getDefaultInstanceForType() {
          return defaultInstance;
        }
        
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return TransformProtos.internal_static_apsara_odps_lot_Transform_Resources_descriptor;
        }
        
        protected FieldAccessorTable
            internalGetFieldAccessorTable() {
          return TransformProtos.internal_static_apsara_odps_lot_Transform_Resources_fieldAccessorTable;
        }
        
        private int bitField0_;
        // required string Project = 1;
        public static final int PROJECT_FIELD_NUMBER = 1;
        private Object project_;
        public boolean hasProject() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getProject() {
          Object ref = project_;
          if (ref instanceof String) {
            return (String) ref;
          } else {
            com.google.protobuf.ByteString bs = 
                (com.google.protobuf.ByteString) ref;
            String s = bs.toStringUtf8();
            if (com.google.protobuf.Internal.isValidUtf8(bs)) {
              project_ = s;
            }
            return s;
          }
        }
        private com.google.protobuf.ByteString getProjectBytes() {
          Object ref = project_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8((String) ref);
            project_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        
        // required string ResourceName = 2;
        public static final int RESOURCENAME_FIELD_NUMBER = 2;
        private Object resourceName_;
        public boolean hasResourceName() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public String getResourceName() {
          Object ref = resourceName_;
          if (ref instanceof String) {
            return (String) ref;
          } else {
            com.google.protobuf.ByteString bs = 
                (com.google.protobuf.ByteString) ref;
            String s = bs.toStringUtf8();
            if (com.google.protobuf.Internal.isValidUtf8(bs)) {
              resourceName_ = s;
            }
            return s;
          }
        }
        private com.google.protobuf.ByteString getResourceNameBytes() {
          Object ref = resourceName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8((String) ref);
            resourceName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        
        private void initFields() {
          project_ = "";
          resourceName_ = "";
        }
        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized != -1) return isInitialized == 1;
          
          if (!hasProject()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!hasResourceName()) {
            memoizedIsInitialized = 0;
            return false;
          }
          memoizedIsInitialized = 1;
          return true;
        }
        
        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          getSerializedSize();
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeBytes(1, getProjectBytes());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            output.writeBytes(2, getResourceNameBytes());
          }
          getUnknownFields().writeTo(output);
        }
        
        private int memoizedSerializedSize = -1;
        public int getSerializedSize() {
          int size = memoizedSerializedSize;
          if (size != -1) return size;
        
          size = 0;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            size += com.google.protobuf.CodedOutputStream
              .computeBytesSize(1, getProjectBytes());
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            size += com.google.protobuf.CodedOutputStream
              .computeBytesSize(2, getResourceNameBytes());
          }
          size += getUnknownFields().getSerializedSize();
          memoizedSerializedSize = size;
          return size;
        }
        
        private static final long serialVersionUID = 0L;
        @Override
        protected Object writeReplace()
            throws java.io.ObjectStreamException {
          return super.writeReplace();
        }
        
        public static Resources parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return newBuilder().mergeFrom(data).buildParsed();
        }
        public static Resources parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return newBuilder().mergeFrom(data, extensionRegistry)
                   .buildParsed();
        }
        public static Resources parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return newBuilder().mergeFrom(data).buildParsed();
        }
        public static Resources parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return newBuilder().mergeFrom(data, extensionRegistry)
                   .buildParsed();
        }
        public static Resources parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return newBuilder().mergeFrom(input).buildParsed();
        }
        public static Resources parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return newBuilder().mergeFrom(input, extensionRegistry)
                   .buildParsed();
        }
        public static Resources parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          Builder builder = newBuilder();
          if (builder.mergeDelimitedFrom(input)) {
            return builder.buildParsed();
          } else {
            return null;
          }
        }
        public static Resources parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          Builder builder = newBuilder();
          if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
            return builder.buildParsed();
          } else {
            return null;
          }
        }
        public static Resources parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return newBuilder().mergeFrom(input).buildParsed();
        }
        public static Resources parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return newBuilder().mergeFrom(input, extensionRegistry)
                   .buildParsed();
        }
        
        public static Builder newBuilder() { return Builder.create(); }
        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder(Resources prototype) {
          return newBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() { return newBuilder(this); }
        
        @Override
        protected Builder newBuilderForType(
            BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        public static final class Builder extends
            com.google.protobuf.GeneratedMessage.Builder<Builder>
           implements ResourcesOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return TransformProtos.internal_static_apsara_odps_lot_Transform_Resources_descriptor;
          }
          
          protected FieldAccessorTable
              internalGetFieldAccessorTable() {
            return TransformProtos.internal_static_apsara_odps_lot_Transform_Resources_fieldAccessorTable;
          }
          
          // Construct using apsara.odps.lot.TransformProtos.Transform.Resources.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }
          
          private Builder(BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            }
          }
          private static Builder create() {
            return new Builder();
          }
          
          public Builder clear() {
            super.clear();
            project_ = "";
            bitField0_ = (bitField0_ & ~0x00000001);
            resourceName_ = "";
            bitField0_ = (bitField0_ & ~0x00000002);
            return this;
          }
          
          public Builder clone() {
            return create().mergeFrom(buildPartial());
          }
          
          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return Resources.getDescriptor();
          }
          
          public Resources getDefaultInstanceForType() {
            return Resources.getDefaultInstance();
          }
          
          public Resources build() {
            Resources result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }
          
          private Resources buildParsed()
              throws com.google.protobuf.InvalidProtocolBufferException {
            Resources result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(
                result).asInvalidProtocolBufferException();
            }
            return result;
          }
          
          public Resources buildPartial() {
            Resources result = new Resources(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.project_ = project_;
            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
              to_bitField0_ |= 0x00000002;
            }
            result.resourceName_ = resourceName_;
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }
          
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof Resources) {
              return mergeFrom((Resources)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }
          
          public Builder mergeFrom(Resources other) {
            if (other == Resources.getDefaultInstance()) return this;
            if (other.hasProject()) {
              setProject(other.getProject());
            }
            if (other.hasResourceName()) {
              setResourceName(other.getResourceName());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            return this;
          }
          
          public final boolean isInitialized() {
            if (!hasProject()) {
              
              return false;
            }
            if (!hasResourceName()) {
              
              return false;
            }
            return true;
          }
          
          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.google.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.protobuf.UnknownFieldSet.newBuilder(
                this.getUnknownFields());
            while (true) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    this.setUnknownFields(unknownFields.build());
                    onChanged();
                    return this;
                  }
                  break;
                }
                case 10: {
                  bitField0_ |= 0x00000001;
                  project_ = input.readBytes();
                  break;
                }
                case 18: {
                  bitField0_ |= 0x00000002;
                  resourceName_ = input.readBytes();
                  break;
                }
              }
            }
          }
          
          private int bitField0_;
          
          // required string Project = 1;
          private Object project_ = "";
          public boolean hasProject() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          public String getProject() {
            Object ref = project_;
            if (!(ref instanceof String)) {
              String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
              project_ = s;
              return s;
            } else {
              return (String) ref;
            }
          }
          public Builder setProject(String value) {
            if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
            project_ = value;
            onChanged();
            return this;
          }
          public Builder clearProject() {
            bitField0_ = (bitField0_ & ~0x00000001);
            project_ = getDefaultInstance().getProject();
            onChanged();
            return this;
          }
          void setProject(com.google.protobuf.ByteString value) {
            bitField0_ |= 0x00000001;
            project_ = value;
            onChanged();
          }
          
          // required string ResourceName = 2;
          private Object resourceName_ = "";
          public boolean hasResourceName() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          public String getResourceName() {
            Object ref = resourceName_;
            if (!(ref instanceof String)) {
              String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
              resourceName_ = s;
              return s;
            } else {
              return (String) ref;
            }
          }
          public Builder setResourceName(String value) {
            if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
            resourceName_ = value;
            onChanged();
            return this;
          }
          public Builder clearResourceName() {
            bitField0_ = (bitField0_ & ~0x00000002);
            resourceName_ = getDefaultInstance().getResourceName();
            onChanged();
            return this;
          }
          void setResourceName(com.google.protobuf.ByteString value) {
            bitField0_ |= 0x00000002;
            resourceName_ = value;
            onChanged();
          }
          
          // @@protoc_insertion_point(builder_scope:apsara.odps.lot.Transform.Resources)
        }
        
        static {
          defaultInstance = new Resources(true);
          defaultInstance.initFields();
        }
        
        // @@protoc_insertion_point(class_scope:apsara.odps.lot.Transform.Resources)
      }
      
      private int bitField0_;
      // required string Id = 1;
      public static final int ID_FIELD_NUMBER = 1;
      private Object id_;
      public boolean hasId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getId() {
        Object ref = id_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            id_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getIdBytes() {
        Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // required string ParentId = 2;
      public static final int PARENTID_FIELD_NUMBER = 2;
      private Object parentId_;
      public boolean hasParentId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public String getParentId() {
        Object ref = parentId_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            parentId_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getParentIdBytes() {
        Object ref = parentId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          parentId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // repeated .apsara.odps.lot.ScalarExpression Parameters = 3;
      public static final int PARAMETERS_FIELD_NUMBER = 3;
      private java.util.List<ExpressionProtos.ScalarExpression> parameters_;
      public java.util.List<ExpressionProtos.ScalarExpression> getParametersList() {
        return parameters_;
      }
      public java.util.List<? extends ExpressionProtos.ScalarExpressionOrBuilder>
          getParametersOrBuilderList() {
        return parameters_;
      }
      public int getParametersCount() {
        return parameters_.size();
      }
      public ExpressionProtos.ScalarExpression getParameters(int index) {
        return parameters_.get(index);
      }
      public ExpressionProtos.ScalarExpressionOrBuilder getParametersOrBuilder(
          int index) {
        return parameters_.get(index);
      }
      
      // repeated group Resources = 4 {
      public static final int RESOURCES_FIELD_NUMBER = 4;
      private java.util.List<Resources> resources_;
      public java.util.List<Resources> getResourcesList() {
        return resources_;
      }
      public java.util.List<? extends ResourcesOrBuilder>
          getResourcesOrBuilderList() {
        return resources_;
      }
      public int getResourcesCount() {
        return resources_.size();
      }
      public Resources getResources(int index) {
        return resources_.get(index);
      }
      public ResourcesOrBuilder getResourcesOrBuilder(
          int index) {
        return resources_.get(index);
      }
      
      // optional .apsara.odps.lot.LanguageTransform LanguageTransform = 5;
      public static final int LANGUAGETRANSFORM_FIELD_NUMBER = 5;
      private LanguageTransformProtos.LanguageTransform languageTransform_;
      public boolean hasLanguageTransform() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public LanguageTransformProtos.LanguageTransform getLanguageTransform() {
        return languageTransform_;
      }
      public LanguageTransformProtos.LanguageTransformOrBuilder getLanguageTransformOrBuilder() {
        return languageTransform_;
      }
      
      // optional .apsara.odps.lot.StreamingTransform StreamingTransform = 6;
      public static final int STREAMINGTRANSFORM_FIELD_NUMBER = 6;
      private StreamingTransformProtos.StreamingTransform streamingTransform_;
      public boolean hasStreamingTransform() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public StreamingTransformProtos.StreamingTransform getStreamingTransform() {
        return streamingTransform_;
      }
      public StreamingTransformProtos.StreamingTransformOrBuilder getStreamingTransformOrBuilder() {
        return streamingTransform_;
      }
      
      // required .apsara.odps.lot.Schema Schema = 7;
      public static final int SCHEMA_FIELD_NUMBER = 7;
      private SchemaProtos.Schema schema_;
      public boolean hasSchema() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      public SchemaProtos.Schema getSchema() {
        return schema_;
      }
      public SchemaProtos.SchemaOrBuilder getSchemaOrBuilder() {
        return schema_;
      }
      
      // repeated .apsara.odps.lot.Volume Volumes = 8;
      public static final int VOLUMES_FIELD_NUMBER = 8;
      private java.util.List<VolumeProtos.Volume> volumes_;
      public java.util.List<VolumeProtos.Volume> getVolumesList() {
        return volumes_;
      }
      public java.util.List<? extends VolumeProtos.VolumeOrBuilder>
          getVolumesOrBuilderList() {
        return volumes_;
      }
      public int getVolumesCount() {
        return volumes_.size();
      }
      public VolumeProtos.Volume getVolumes(int index) {
        return volumes_.get(index);
      }
      public VolumeProtos.VolumeOrBuilder getVolumesOrBuilder(
          int index) {
        return volumes_.get(index);
      }
      
      private void initFields() {
        id_ = "";
        parentId_ = "";
        parameters_ = java.util.Collections.emptyList();
        resources_ = java.util.Collections.emptyList();
        languageTransform_ = LanguageTransformProtos.LanguageTransform.getDefaultInstance();
        streamingTransform_ = StreamingTransformProtos.StreamingTransform.getDefaultInstance();
        schema_ = SchemaProtos.Schema.getDefaultInstance();
        volumes_ = java.util.Collections.emptyList();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasParentId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasSchema()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getParametersCount(); i++) {
          if (!getParameters(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getResourcesCount(); i++) {
          if (!getResources(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasLanguageTransform()) {
          if (!getLanguageTransform().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasStreamingTransform()) {
          if (!getStreamingTransform().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (!getSchema().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getVolumesCount(); i++) {
          if (!getVolumes(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getIdBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getParentIdBytes());
        }
        for (int i = 0; i < parameters_.size(); i++) {
          output.writeMessage(3, parameters_.get(i));
        }
        for (int i = 0; i < resources_.size(); i++) {
          output.writeGroup(4, resources_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeMessage(5, languageTransform_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeMessage(6, streamingTransform_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeMessage(7, schema_);
        }
        for (int i = 0; i < volumes_.size(); i++) {
          output.writeMessage(8, volumes_.get(i));
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getIdBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getParentIdBytes());
        }
        for (int i = 0; i < parameters_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, parameters_.get(i));
        }
        for (int i = 0; i < resources_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeGroupSize(4, resources_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(5, languageTransform_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(6, streamingTransform_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(7, schema_);
        }
        for (int i = 0; i < volumes_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(8, volumes_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @Override
      protected Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      public static Transform parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static Transform parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static Transform parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static Transform parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static Transform parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static Transform parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static Transform parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static Transform parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static Transform parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static Transform parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(Transform prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @Override
      protected Builder newBuilderForType(
          BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements TransformOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return TransformProtos.internal_static_apsara_odps_lot_Transform_descriptor;
        }
        
        protected FieldAccessorTable
            internalGetFieldAccessorTable() {
          return TransformProtos.internal_static_apsara_odps_lot_Transform_fieldAccessorTable;
        }
        
        // Construct using apsara.odps.lot.TransformProtos.Transform.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getParametersFieldBuilder();
            getResourcesFieldBuilder();
            getLanguageTransformFieldBuilder();
            getStreamingTransformFieldBuilder();
            getSchemaFieldBuilder();
            getVolumesFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          id_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          parentId_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          if (parametersBuilder_ == null) {
            parameters_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            parametersBuilder_.clear();
          }
          if (resourcesBuilder_ == null) {
            resources_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            resourcesBuilder_.clear();
          }
          if (languageTransformBuilder_ == null) {
            languageTransform_ = LanguageTransformProtos.LanguageTransform.getDefaultInstance();
          } else {
            languageTransformBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          if (streamingTransformBuilder_ == null) {
            streamingTransform_ = StreamingTransformProtos.StreamingTransform.getDefaultInstance();
          } else {
            streamingTransformBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000020);
          if (schemaBuilder_ == null) {
            schema_ = SchemaProtos.Schema.getDefaultInstance();
          } else {
            schemaBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000040);
          if (volumesBuilder_ == null) {
            volumes_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000080);
          } else {
            volumesBuilder_.clear();
          }
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return Transform.getDescriptor();
        }
        
        public Transform getDefaultInstanceForType() {
          return Transform.getDefaultInstance();
        }
        
        public Transform build() {
          Transform result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private Transform buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          Transform result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public Transform buildPartial() {
          Transform result = new Transform(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.id_ = id_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.parentId_ = parentId_;
          if (parametersBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              parameters_ = java.util.Collections.unmodifiableList(parameters_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.parameters_ = parameters_;
          } else {
            result.parameters_ = parametersBuilder_.build();
          }
          if (resourcesBuilder_ == null) {
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              resources_ = java.util.Collections.unmodifiableList(resources_);
              bitField0_ = (bitField0_ & ~0x00000008);
            }
            result.resources_ = resources_;
          } else {
            result.resources_ = resourcesBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000004;
          }
          if (languageTransformBuilder_ == null) {
            result.languageTransform_ = languageTransform_;
          } else {
            result.languageTransform_ = languageTransformBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000008;
          }
          if (streamingTransformBuilder_ == null) {
            result.streamingTransform_ = streamingTransform_;
          } else {
            result.streamingTransform_ = streamingTransformBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000010;
          }
          if (schemaBuilder_ == null) {
            result.schema_ = schema_;
          } else {
            result.schema_ = schemaBuilder_.build();
          }
          if (volumesBuilder_ == null) {
            if (((bitField0_ & 0x00000080) == 0x00000080)) {
              volumes_ = java.util.Collections.unmodifiableList(volumes_);
              bitField0_ = (bitField0_ & ~0x00000080);
            }
            result.volumes_ = volumes_;
          } else {
            result.volumes_ = volumesBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof Transform) {
            return mergeFrom((Transform)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(Transform other) {
          if (other == Transform.getDefaultInstance()) return this;
          if (other.hasId()) {
            setId(other.getId());
          }
          if (other.hasParentId()) {
            setParentId(other.getParentId());
          }
          if (parametersBuilder_ == null) {
            if (!other.parameters_.isEmpty()) {
              if (parameters_.isEmpty()) {
                parameters_ = other.parameters_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureParametersIsMutable();
                parameters_.addAll(other.parameters_);
              }
              onChanged();
            }
          } else {
            if (!other.parameters_.isEmpty()) {
              if (parametersBuilder_.isEmpty()) {
                parametersBuilder_.dispose();
                parametersBuilder_ = null;
                parameters_ = other.parameters_;
                bitField0_ = (bitField0_ & ~0x00000004);
                parametersBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getParametersFieldBuilder() : null;
              } else {
                parametersBuilder_.addAllMessages(other.parameters_);
              }
            }
          }
          if (resourcesBuilder_ == null) {
            if (!other.resources_.isEmpty()) {
              if (resources_.isEmpty()) {
                resources_ = other.resources_;
                bitField0_ = (bitField0_ & ~0x00000008);
              } else {
                ensureResourcesIsMutable();
                resources_.addAll(other.resources_);
              }
              onChanged();
            }
          } else {
            if (!other.resources_.isEmpty()) {
              if (resourcesBuilder_.isEmpty()) {
                resourcesBuilder_.dispose();
                resourcesBuilder_ = null;
                resources_ = other.resources_;
                bitField0_ = (bitField0_ & ~0x00000008);
                resourcesBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getResourcesFieldBuilder() : null;
              } else {
                resourcesBuilder_.addAllMessages(other.resources_);
              }
            }
          }
          if (other.hasLanguageTransform()) {
            mergeLanguageTransform(other.getLanguageTransform());
          }
          if (other.hasStreamingTransform()) {
            mergeStreamingTransform(other.getStreamingTransform());
          }
          if (other.hasSchema()) {
            mergeSchema(other.getSchema());
          }
          if (volumesBuilder_ == null) {
            if (!other.volumes_.isEmpty()) {
              if (volumes_.isEmpty()) {
                volumes_ = other.volumes_;
                bitField0_ = (bitField0_ & ~0x00000080);
              } else {
                ensureVolumesIsMutable();
                volumes_.addAll(other.volumes_);
              }
              onChanged();
            }
          } else {
            if (!other.volumes_.isEmpty()) {
              if (volumesBuilder_.isEmpty()) {
                volumesBuilder_.dispose();
                volumesBuilder_ = null;
                volumes_ = other.volumes_;
                bitField0_ = (bitField0_ & ~0x00000080);
                volumesBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getVolumesFieldBuilder() : null;
              } else {
                volumesBuilder_.addAllMessages(other.volumes_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasId()) {
            
            return false;
          }
          if (!hasParentId()) {
            
            return false;
          }
          if (!hasSchema()) {
            
            return false;
          }
          for (int i = 0; i < getParametersCount(); i++) {
            if (!getParameters(i).isInitialized()) {
              
              return false;
            }
          }
          for (int i = 0; i < getResourcesCount(); i++) {
            if (!getResources(i).isInitialized()) {
              
              return false;
            }
          }
          if (hasLanguageTransform()) {
            if (!getLanguageTransform().isInitialized()) {
              
              return false;
            }
          }
          if (hasStreamingTransform()) {
            if (!getStreamingTransform().isInitialized()) {
              
              return false;
            }
          }
          if (!getSchema().isInitialized()) {
            
            return false;
          }
          for (int i = 0; i < getVolumesCount(); i++) {
            if (!getVolumes(i).isInitialized()) {
              
              return false;
            }
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                id_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                parentId_ = input.readBytes();
                break;
              }
              case 26: {
                ExpressionProtos.ScalarExpression.Builder subBuilder = ExpressionProtos.ScalarExpression.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addParameters(subBuilder.buildPartial());
                break;
              }
              case 35: {
                Resources.Builder subBuilder = Resources.newBuilder();
                input.readGroup(4, subBuilder, extensionRegistry);
                addResources(subBuilder.buildPartial());
                break;
              }
              case 42: {
                LanguageTransformProtos.LanguageTransform.Builder subBuilder = LanguageTransformProtos.LanguageTransform.newBuilder();
                if (hasLanguageTransform()) {
                  subBuilder.mergeFrom(getLanguageTransform());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setLanguageTransform(subBuilder.buildPartial());
                break;
              }
              case 50: {
                StreamingTransformProtos.StreamingTransform.Builder subBuilder = StreamingTransformProtos.StreamingTransform.newBuilder();
                if (hasStreamingTransform()) {
                  subBuilder.mergeFrom(getStreamingTransform());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setStreamingTransform(subBuilder.buildPartial());
                break;
              }
              case 58: {
                SchemaProtos.Schema.Builder subBuilder = SchemaProtos.Schema.newBuilder();
                if (hasSchema()) {
                  subBuilder.mergeFrom(getSchema());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setSchema(subBuilder.buildPartial());
                break;
              }
              case 66: {
                VolumeProtos.Volume.Builder subBuilder = VolumeProtos.Volume.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addVolumes(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required string Id = 1;
        private Object id_ = "";
        public boolean hasId() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getId() {
          Object ref = id_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            id_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setId(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          id_ = value;
          onChanged();
          return this;
        }
        public Builder clearId() {
          bitField0_ = (bitField0_ & ~0x00000001);
          id_ = getDefaultInstance().getId();
          onChanged();
          return this;
        }
        void setId(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          id_ = value;
          onChanged();
        }
        
        // required string ParentId = 2;
        private Object parentId_ = "";
        public boolean hasParentId() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public String getParentId() {
          Object ref = parentId_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            parentId_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setParentId(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          parentId_ = value;
          onChanged();
          return this;
        }
        public Builder clearParentId() {
          bitField0_ = (bitField0_ & ~0x00000002);
          parentId_ = getDefaultInstance().getParentId();
          onChanged();
          return this;
        }
        void setParentId(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000002;
          parentId_ = value;
          onChanged();
        }
        
        // repeated .apsara.odps.lot.ScalarExpression Parameters = 3;
        private java.util.List<ExpressionProtos.ScalarExpression> parameters_ =
          java.util.Collections.emptyList();
        private void ensureParametersIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            parameters_ = new java.util.ArrayList<ExpressionProtos.ScalarExpression>(parameters_);
            bitField0_ |= 0x00000004;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            ExpressionProtos.ScalarExpression, ExpressionProtos.ScalarExpression.Builder, ExpressionProtos.ScalarExpressionOrBuilder> parametersBuilder_;
        
        public java.util.List<ExpressionProtos.ScalarExpression> getParametersList() {
          if (parametersBuilder_ == null) {
            return java.util.Collections.unmodifiableList(parameters_);
          } else {
            return parametersBuilder_.getMessageList();
          }
        }
        public int getParametersCount() {
          if (parametersBuilder_ == null) {
            return parameters_.size();
          } else {
            return parametersBuilder_.getCount();
          }
        }
        public ExpressionProtos.ScalarExpression getParameters(int index) {
          if (parametersBuilder_ == null) {
            return parameters_.get(index);
          } else {
            return parametersBuilder_.getMessage(index);
          }
        }
        public Builder setParameters(
            int index, ExpressionProtos.ScalarExpression value) {
          if (parametersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureParametersIsMutable();
            parameters_.set(index, value);
            onChanged();
          } else {
            parametersBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setParameters(
            int index, ExpressionProtos.ScalarExpression.Builder builderForValue) {
          if (parametersBuilder_ == null) {
            ensureParametersIsMutable();
            parameters_.set(index, builderForValue.build());
            onChanged();
          } else {
            parametersBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addParameters(ExpressionProtos.ScalarExpression value) {
          if (parametersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureParametersIsMutable();
            parameters_.add(value);
            onChanged();
          } else {
            parametersBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addParameters(
            int index, ExpressionProtos.ScalarExpression value) {
          if (parametersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureParametersIsMutable();
            parameters_.add(index, value);
            onChanged();
          } else {
            parametersBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addParameters(
            ExpressionProtos.ScalarExpression.Builder builderForValue) {
          if (parametersBuilder_ == null) {
            ensureParametersIsMutable();
            parameters_.add(builderForValue.build());
            onChanged();
          } else {
            parametersBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addParameters(
            int index, ExpressionProtos.ScalarExpression.Builder builderForValue) {
          if (parametersBuilder_ == null) {
            ensureParametersIsMutable();
            parameters_.add(index, builderForValue.build());
            onChanged();
          } else {
            parametersBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllParameters(
            Iterable<? extends ExpressionProtos.ScalarExpression> values) {
          if (parametersBuilder_ == null) {
            ensureParametersIsMutable();
            super.addAll(values, parameters_);
            onChanged();
          } else {
            parametersBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearParameters() {
          if (parametersBuilder_ == null) {
            parameters_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            parametersBuilder_.clear();
          }
          return this;
        }
        public Builder removeParameters(int index) {
          if (parametersBuilder_ == null) {
            ensureParametersIsMutable();
            parameters_.remove(index);
            onChanged();
          } else {
            parametersBuilder_.remove(index);
          }
          return this;
        }
        public ExpressionProtos.ScalarExpression.Builder getParametersBuilder(
            int index) {
          return getParametersFieldBuilder().getBuilder(index);
        }
        public ExpressionProtos.ScalarExpressionOrBuilder getParametersOrBuilder(
            int index) {
          if (parametersBuilder_ == null) {
            return parameters_.get(index);  } else {
            return parametersBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends ExpressionProtos.ScalarExpressionOrBuilder>
             getParametersOrBuilderList() {
          if (parametersBuilder_ != null) {
            return parametersBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(parameters_);
          }
        }
        public ExpressionProtos.ScalarExpression.Builder addParametersBuilder() {
          return getParametersFieldBuilder().addBuilder(
              ExpressionProtos.ScalarExpression.getDefaultInstance());
        }
        public ExpressionProtos.ScalarExpression.Builder addParametersBuilder(
            int index) {
          return getParametersFieldBuilder().addBuilder(
              index, ExpressionProtos.ScalarExpression.getDefaultInstance());
        }
        public java.util.List<ExpressionProtos.ScalarExpression.Builder>
             getParametersBuilderList() {
          return getParametersFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            ExpressionProtos.ScalarExpression, ExpressionProtos.ScalarExpression.Builder, ExpressionProtos.ScalarExpressionOrBuilder>
            getParametersFieldBuilder() {
          if (parametersBuilder_ == null) {
            parametersBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                ExpressionProtos.ScalarExpression, ExpressionProtos.ScalarExpression.Builder, ExpressionProtos.ScalarExpressionOrBuilder>(
                    parameters_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            parameters_ = null;
          }
          return parametersBuilder_;
        }
        
        // repeated group Resources = 4 {
        private java.util.List<Resources> resources_ =
          java.util.Collections.emptyList();
        private void ensureResourcesIsMutable() {
          if (!((bitField0_ & 0x00000008) == 0x00000008)) {
            resources_ = new java.util.ArrayList<Resources>(resources_);
            bitField0_ |= 0x00000008;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            Resources, Resources.Builder, ResourcesOrBuilder> resourcesBuilder_;
        
        public java.util.List<Resources> getResourcesList() {
          if (resourcesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(resources_);
          } else {
            return resourcesBuilder_.getMessageList();
          }
        }
        public int getResourcesCount() {
          if (resourcesBuilder_ == null) {
            return resources_.size();
          } else {
            return resourcesBuilder_.getCount();
          }
        }
        public Resources getResources(int index) {
          if (resourcesBuilder_ == null) {
            return resources_.get(index);
          } else {
            return resourcesBuilder_.getMessage(index);
          }
        }
        public Builder setResources(
            int index, Resources value) {
          if (resourcesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResourcesIsMutable();
            resources_.set(index, value);
            onChanged();
          } else {
            resourcesBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setResources(
            int index, Resources.Builder builderForValue) {
          if (resourcesBuilder_ == null) {
            ensureResourcesIsMutable();
            resources_.set(index, builderForValue.build());
            onChanged();
          } else {
            resourcesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addResources(Resources value) {
          if (resourcesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResourcesIsMutable();
            resources_.add(value);
            onChanged();
          } else {
            resourcesBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addResources(
            int index, Resources value) {
          if (resourcesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResourcesIsMutable();
            resources_.add(index, value);
            onChanged();
          } else {
            resourcesBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addResources(
            Resources.Builder builderForValue) {
          if (resourcesBuilder_ == null) {
            ensureResourcesIsMutable();
            resources_.add(builderForValue.build());
            onChanged();
          } else {
            resourcesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addResources(
            int index, Resources.Builder builderForValue) {
          if (resourcesBuilder_ == null) {
            ensureResourcesIsMutable();
            resources_.add(index, builderForValue.build());
            onChanged();
          } else {
            resourcesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllResources(
            Iterable<? extends Resources> values) {
          if (resourcesBuilder_ == null) {
            ensureResourcesIsMutable();
            super.addAll(values, resources_);
            onChanged();
          } else {
            resourcesBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearResources() {
          if (resourcesBuilder_ == null) {
            resources_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
            onChanged();
          } else {
            resourcesBuilder_.clear();
          }
          return this;
        }
        public Builder removeResources(int index) {
          if (resourcesBuilder_ == null) {
            ensureResourcesIsMutable();
            resources_.remove(index);
            onChanged();
          } else {
            resourcesBuilder_.remove(index);
          }
          return this;
        }
        public Resources.Builder getResourcesBuilder(
            int index) {
          return getResourcesFieldBuilder().getBuilder(index);
        }
        public ResourcesOrBuilder getResourcesOrBuilder(
            int index) {
          if (resourcesBuilder_ == null) {
            return resources_.get(index);  } else {
            return resourcesBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends ResourcesOrBuilder>
             getResourcesOrBuilderList() {
          if (resourcesBuilder_ != null) {
            return resourcesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(resources_);
          }
        }
        public Resources.Builder addResourcesBuilder() {
          return getResourcesFieldBuilder().addBuilder(
              Resources.getDefaultInstance());
        }
        public Resources.Builder addResourcesBuilder(
            int index) {
          return getResourcesFieldBuilder().addBuilder(
              index, Resources.getDefaultInstance());
        }
        public java.util.List<Resources.Builder>
             getResourcesBuilderList() {
          return getResourcesFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            Resources, Resources.Builder, ResourcesOrBuilder>
            getResourcesFieldBuilder() {
          if (resourcesBuilder_ == null) {
            resourcesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                Resources, Resources.Builder, ResourcesOrBuilder>(
                    resources_,
                    ((bitField0_ & 0x00000008) == 0x00000008),
                    getParentForChildren(),
                    isClean());
            resources_ = null;
          }
          return resourcesBuilder_;
        }
        
        // optional .apsara.odps.lot.LanguageTransform LanguageTransform = 5;
        private LanguageTransformProtos.LanguageTransform languageTransform_ = LanguageTransformProtos.LanguageTransform.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            LanguageTransformProtos.LanguageTransform, LanguageTransformProtos.LanguageTransform.Builder, LanguageTransformProtos.LanguageTransformOrBuilder> languageTransformBuilder_;
        public boolean hasLanguageTransform() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        public LanguageTransformProtos.LanguageTransform getLanguageTransform() {
          if (languageTransformBuilder_ == null) {
            return languageTransform_;
          } else {
            return languageTransformBuilder_.getMessage();
          }
        }
        public Builder setLanguageTransform(LanguageTransformProtos.LanguageTransform value) {
          if (languageTransformBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            languageTransform_ = value;
            onChanged();
          } else {
            languageTransformBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        public Builder setLanguageTransform(
            LanguageTransformProtos.LanguageTransform.Builder builderForValue) {
          if (languageTransformBuilder_ == null) {
            languageTransform_ = builderForValue.build();
            onChanged();
          } else {
            languageTransformBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        public Builder mergeLanguageTransform(LanguageTransformProtos.LanguageTransform value) {
          if (languageTransformBuilder_ == null) {
            if (((bitField0_ & 0x00000010) == 0x00000010) &&
                languageTransform_ != LanguageTransformProtos.LanguageTransform.getDefaultInstance()) {
              languageTransform_ =
                LanguageTransformProtos.LanguageTransform.newBuilder(languageTransform_).mergeFrom(value).buildPartial();
            } else {
              languageTransform_ = value;
            }
            onChanged();
          } else {
            languageTransformBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        public Builder clearLanguageTransform() {
          if (languageTransformBuilder_ == null) {
            languageTransform_ = LanguageTransformProtos.LanguageTransform.getDefaultInstance();
            onChanged();
          } else {
            languageTransformBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }
        public LanguageTransformProtos.LanguageTransform.Builder getLanguageTransformBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getLanguageTransformFieldBuilder().getBuilder();
        }
        public LanguageTransformProtos.LanguageTransformOrBuilder getLanguageTransformOrBuilder() {
          if (languageTransformBuilder_ != null) {
            return languageTransformBuilder_.getMessageOrBuilder();
          } else {
            return languageTransform_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            LanguageTransformProtos.LanguageTransform, LanguageTransformProtos.LanguageTransform.Builder, LanguageTransformProtos.LanguageTransformOrBuilder>
            getLanguageTransformFieldBuilder() {
          if (languageTransformBuilder_ == null) {
            languageTransformBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                LanguageTransformProtos.LanguageTransform, LanguageTransformProtos.LanguageTransform.Builder, LanguageTransformProtos.LanguageTransformOrBuilder>(
                    languageTransform_,
                    getParentForChildren(),
                    isClean());
            languageTransform_ = null;
          }
          return languageTransformBuilder_;
        }
        
        // optional .apsara.odps.lot.StreamingTransform StreamingTransform = 6;
        private StreamingTransformProtos.StreamingTransform streamingTransform_ = StreamingTransformProtos.StreamingTransform.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            StreamingTransformProtos.StreamingTransform, StreamingTransformProtos.StreamingTransform.Builder, StreamingTransformProtos.StreamingTransformOrBuilder> streamingTransformBuilder_;
        public boolean hasStreamingTransform() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        public StreamingTransformProtos.StreamingTransform getStreamingTransform() {
          if (streamingTransformBuilder_ == null) {
            return streamingTransform_;
          } else {
            return streamingTransformBuilder_.getMessage();
          }
        }
        public Builder setStreamingTransform(StreamingTransformProtos.StreamingTransform value) {
          if (streamingTransformBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            streamingTransform_ = value;
            onChanged();
          } else {
            streamingTransformBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000020;
          return this;
        }
        public Builder setStreamingTransform(
            StreamingTransformProtos.StreamingTransform.Builder builderForValue) {
          if (streamingTransformBuilder_ == null) {
            streamingTransform_ = builderForValue.build();
            onChanged();
          } else {
            streamingTransformBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000020;
          return this;
        }
        public Builder mergeStreamingTransform(StreamingTransformProtos.StreamingTransform value) {
          if (streamingTransformBuilder_ == null) {
            if (((bitField0_ & 0x00000020) == 0x00000020) &&
                streamingTransform_ != StreamingTransformProtos.StreamingTransform.getDefaultInstance()) {
              streamingTransform_ =
                StreamingTransformProtos.StreamingTransform.newBuilder(streamingTransform_).mergeFrom(value).buildPartial();
            } else {
              streamingTransform_ = value;
            }
            onChanged();
          } else {
            streamingTransformBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000020;
          return this;
        }
        public Builder clearStreamingTransform() {
          if (streamingTransformBuilder_ == null) {
            streamingTransform_ = StreamingTransformProtos.StreamingTransform.getDefaultInstance();
            onChanged();
          } else {
            streamingTransformBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000020);
          return this;
        }
        public StreamingTransformProtos.StreamingTransform.Builder getStreamingTransformBuilder() {
          bitField0_ |= 0x00000020;
          onChanged();
          return getStreamingTransformFieldBuilder().getBuilder();
        }
        public StreamingTransformProtos.StreamingTransformOrBuilder getStreamingTransformOrBuilder() {
          if (streamingTransformBuilder_ != null) {
            return streamingTransformBuilder_.getMessageOrBuilder();
          } else {
            return streamingTransform_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            StreamingTransformProtos.StreamingTransform, StreamingTransformProtos.StreamingTransform.Builder, StreamingTransformProtos.StreamingTransformOrBuilder>
            getStreamingTransformFieldBuilder() {
          if (streamingTransformBuilder_ == null) {
            streamingTransformBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                StreamingTransformProtos.StreamingTransform, StreamingTransformProtos.StreamingTransform.Builder, StreamingTransformProtos.StreamingTransformOrBuilder>(
                    streamingTransform_,
                    getParentForChildren(),
                    isClean());
            streamingTransform_ = null;
          }
          return streamingTransformBuilder_;
        }
        
        // required .apsara.odps.lot.Schema Schema = 7;
        private SchemaProtos.Schema schema_ = SchemaProtos.Schema.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            SchemaProtos.Schema, SchemaProtos.Schema.Builder, SchemaProtos.SchemaOrBuilder> schemaBuilder_;
        public boolean hasSchema() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        public SchemaProtos.Schema getSchema() {
          if (schemaBuilder_ == null) {
            return schema_;
          } else {
            return schemaBuilder_.getMessage();
          }
        }
        public Builder setSchema(SchemaProtos.Schema value) {
          if (schemaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            schema_ = value;
            onChanged();
          } else {
            schemaBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000040;
          return this;
        }
        public Builder setSchema(
            SchemaProtos.Schema.Builder builderForValue) {
          if (schemaBuilder_ == null) {
            schema_ = builderForValue.build();
            onChanged();
          } else {
            schemaBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000040;
          return this;
        }
        public Builder mergeSchema(SchemaProtos.Schema value) {
          if (schemaBuilder_ == null) {
            if (((bitField0_ & 0x00000040) == 0x00000040) &&
                schema_ != SchemaProtos.Schema.getDefaultInstance()) {
              schema_ =
                SchemaProtos.Schema.newBuilder(schema_).mergeFrom(value).buildPartial();
            } else {
              schema_ = value;
            }
            onChanged();
          } else {
            schemaBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000040;
          return this;
        }
        public Builder clearSchema() {
          if (schemaBuilder_ == null) {
            schema_ = SchemaProtos.Schema.getDefaultInstance();
            onChanged();
          } else {
            schemaBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000040);
          return this;
        }
        public SchemaProtos.Schema.Builder getSchemaBuilder() {
          bitField0_ |= 0x00000040;
          onChanged();
          return getSchemaFieldBuilder().getBuilder();
        }
        public SchemaProtos.SchemaOrBuilder getSchemaOrBuilder() {
          if (schemaBuilder_ != null) {
            return schemaBuilder_.getMessageOrBuilder();
          } else {
            return schema_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            SchemaProtos.Schema, SchemaProtos.Schema.Builder, SchemaProtos.SchemaOrBuilder>
            getSchemaFieldBuilder() {
          if (schemaBuilder_ == null) {
            schemaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                SchemaProtos.Schema, SchemaProtos.Schema.Builder, SchemaProtos.SchemaOrBuilder>(
                    schema_,
                    getParentForChildren(),
                    isClean());
            schema_ = null;
          }
          return schemaBuilder_;
        }
        
        // repeated .apsara.odps.lot.Volume Volumes = 8;
        private java.util.List<VolumeProtos.Volume> volumes_ =
          java.util.Collections.emptyList();
        private void ensureVolumesIsMutable() {
          if (!((bitField0_ & 0x00000080) == 0x00000080)) {
            volumes_ = new java.util.ArrayList<VolumeProtos.Volume>(volumes_);
            bitField0_ |= 0x00000080;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            VolumeProtos.Volume, VolumeProtos.Volume.Builder, VolumeProtos.VolumeOrBuilder> volumesBuilder_;
        
        public java.util.List<VolumeProtos.Volume> getVolumesList() {
          if (volumesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(volumes_);
          } else {
            return volumesBuilder_.getMessageList();
          }
        }
        public int getVolumesCount() {
          if (volumesBuilder_ == null) {
            return volumes_.size();
          } else {
            return volumesBuilder_.getCount();
          }
        }
        public VolumeProtos.Volume getVolumes(int index) {
          if (volumesBuilder_ == null) {
            return volumes_.get(index);
          } else {
            return volumesBuilder_.getMessage(index);
          }
        }
        public Builder setVolumes(
            int index, VolumeProtos.Volume value) {
          if (volumesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureVolumesIsMutable();
            volumes_.set(index, value);
            onChanged();
          } else {
            volumesBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setVolumes(
            int index, VolumeProtos.Volume.Builder builderForValue) {
          if (volumesBuilder_ == null) {
            ensureVolumesIsMutable();
            volumes_.set(index, builderForValue.build());
            onChanged();
          } else {
            volumesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addVolumes(VolumeProtos.Volume value) {
          if (volumesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureVolumesIsMutable();
            volumes_.add(value);
            onChanged();
          } else {
            volumesBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addVolumes(
            int index, VolumeProtos.Volume value) {
          if (volumesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureVolumesIsMutable();
            volumes_.add(index, value);
            onChanged();
          } else {
            volumesBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addVolumes(
            VolumeProtos.Volume.Builder builderForValue) {
          if (volumesBuilder_ == null) {
            ensureVolumesIsMutable();
            volumes_.add(builderForValue.build());
            onChanged();
          } else {
            volumesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addVolumes(
            int index, VolumeProtos.Volume.Builder builderForValue) {
          if (volumesBuilder_ == null) {
            ensureVolumesIsMutable();
            volumes_.add(index, builderForValue.build());
            onChanged();
          } else {
            volumesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllVolumes(
            Iterable<? extends VolumeProtos.Volume> values) {
          if (volumesBuilder_ == null) {
            ensureVolumesIsMutable();
            super.addAll(values, volumes_);
            onChanged();
          } else {
            volumesBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearVolumes() {
          if (volumesBuilder_ == null) {
            volumes_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000080);
            onChanged();
          } else {
            volumesBuilder_.clear();
          }
          return this;
        }
        public Builder removeVolumes(int index) {
          if (volumesBuilder_ == null) {
            ensureVolumesIsMutable();
            volumes_.remove(index);
            onChanged();
          } else {
            volumesBuilder_.remove(index);
          }
          return this;
        }
        public VolumeProtos.Volume.Builder getVolumesBuilder(
            int index) {
          return getVolumesFieldBuilder().getBuilder(index);
        }
        public VolumeProtos.VolumeOrBuilder getVolumesOrBuilder(
            int index) {
          if (volumesBuilder_ == null) {
            return volumes_.get(index);  } else {
            return volumesBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends VolumeProtos.VolumeOrBuilder>
             getVolumesOrBuilderList() {
          if (volumesBuilder_ != null) {
            return volumesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(volumes_);
          }
        }
        public VolumeProtos.Volume.Builder addVolumesBuilder() {
          return getVolumesFieldBuilder().addBuilder(
              VolumeProtos.Volume.getDefaultInstance());
        }
        public VolumeProtos.Volume.Builder addVolumesBuilder(
            int index) {
          return getVolumesFieldBuilder().addBuilder(
              index, VolumeProtos.Volume.getDefaultInstance());
        }
        public java.util.List<VolumeProtos.Volume.Builder>
             getVolumesBuilderList() {
          return getVolumesFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            VolumeProtos.Volume, VolumeProtos.Volume.Builder, VolumeProtos.VolumeOrBuilder>
            getVolumesFieldBuilder() {
          if (volumesBuilder_ == null) {
            volumesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                VolumeProtos.Volume, VolumeProtos.Volume.Builder, VolumeProtos.VolumeOrBuilder>(
                    volumes_,
                    ((bitField0_ & 0x00000080) == 0x00000080),
                    getParentForChildren(),
                    isClean());
            volumes_ = null;
          }
          return volumesBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:apsara.odps.lot.Transform)
      }
      
      static {
        defaultInstance = new Transform(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:apsara.odps.lot.Transform)
    }
    
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_apsara_odps_lot_Transform_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_apsara_odps_lot_Transform_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_apsara_odps_lot_Transform_Resources_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_apsara_odps_lot_Transform_Resources_fieldAccessorTable;
    
    public static com.google.protobuf.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static com.google.protobuf.Descriptors.FileDescriptor
        descriptor;
    static {
      String[] descriptorData = {
        "\n\023lot/transform.proto\022\017apsara.odps.lot\032\020" +
        "lot/schema.proto\032\033lot/languagetransform." +
        "proto\032\034lot/streamingtransform.proto\032\024lot" +
        "/expression.proto\032\020lot/volume.proto\"\240\003\n\t" +
        "Transform\022\n\n\002Id\030\001 \002(\t\022\020\n\010ParentId\030\002 \002(\t\022" +
        "5\n\nParameters\030\003 \003(\0132!.apsara.odps.lot.Sc" +
        "alarExpression\0227\n\tresources\030\004 \003(\n2$.apsa" +
        "ra.odps.lot.Transform.Resources\022=\n\021Langu" +
        "ageTransform\030\005 \001(\0132\".apsara.odps.lot.Lan" +
        "guageTransform\022?\n\022StreamingTransform\030\006 \001",
        "(\0132#.apsara.odps.lot.StreamingTransform\022" +
        "\'\n\006Schema\030\007 \002(\0132\027.apsara.odps.lot.Schema" +
        "\022(\n\007Volumes\030\010 \003(\0132\027.apsara.odps.lot.Volu" +
        "me\0322\n\tResources\022\017\n\007Project\030\001 \002(\t\022\024\n\014Reso" +
        "urceName\030\002 \002(\tB\021B\017TransformProtos"
      };
      com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            internal_static_apsara_odps_lot_Transform_descriptor =
              getDescriptor().getMessageTypes().get(0);
            internal_static_apsara_odps_lot_Transform_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_apsara_odps_lot_Transform_descriptor,
                new String[] { "Id", "ParentId", "Parameters", "Resources", "LanguageTransform", "StreamingTransform", "Schema", "Volumes", },
                Transform.class,
                Transform.Builder.class);
            internal_static_apsara_odps_lot_Transform_Resources_descriptor =
              internal_static_apsara_odps_lot_Transform_descriptor.getNestedTypes().get(0);
            internal_static_apsara_odps_lot_Transform_Resources_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_apsara_odps_lot_Transform_Resources_descriptor,
                new String[] { "Project", "ResourceName", },
                Transform.Resources.class,
                Transform.Resources.Builder.class);
            return null;
          }
        };
      com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
            SchemaProtos.getDescriptor(),
            LanguageTransformProtos.getDescriptor(),
            StreamingTransformProtos.getDescriptor(),
            ExpressionProtos.getDescriptor(),
            VolumeProtos.getDescriptor(),
          }, assigner);
    }
    
    // @@protoc_insertion_point(outer_class_scope)
  }
  