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

com.dimajix.flowman.kernel.proto.relation.RelationDetails Maven / Gradle / Ivy

There is a newer version: 1.2.0-synapse3.3-spark3.3-hadoop3.3
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: relation.proto

package com.dimajix.flowman.kernel.proto.relation;

/**
 * Protobuf type {@code com.dimajix.flowman.kernel.relation.RelationDetails}
 */
public final class RelationDetails extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:com.dimajix.flowman.kernel.relation.RelationDetails)
    RelationDetailsOrBuilder {
private static final long serialVersionUID = 0L;
  // Use RelationDetails.newBuilder() to construct.
  private RelationDetails(com.google.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private RelationDetails() {
    project_ = "";
    name_ = "";
    kind_ = "";
    requiredByCreate_ = java.util.Collections.emptyList();
    requiredByWrite_ = java.util.Collections.emptyList();
    requiredByRead_ = java.util.Collections.emptyList();
    providedByCreate_ = java.util.Collections.emptyList();
    providedByWrite_ = java.util.Collections.emptyList();
    providedByRead_ = java.util.Collections.emptyList();
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new RelationDetails();
  }

  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.dimajix.flowman.kernel.proto.relation.RelationProto.internal_static_com_dimajix_flowman_kernel_relation_RelationDetails_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.dimajix.flowman.kernel.proto.relation.RelationProto.internal_static_com_dimajix_flowman_kernel_relation_RelationDetails_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.dimajix.flowman.kernel.proto.relation.RelationDetails.class, com.dimajix.flowman.kernel.proto.relation.RelationDetails.Builder.class);
  }

  private int bitField0_;
  public static final int PROJECT_FIELD_NUMBER = 1;
  @SuppressWarnings("serial")
  private volatile java.lang.Object project_ = "";
  /**
   * optional string project = 1;
   * @return Whether the project field is set.
   */
  @java.lang.Override
  public boolean hasProject() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * optional string project = 1;
   * @return The project.
   */
  @java.lang.Override
  public java.lang.String getProject() {
    java.lang.Object ref = project_;
    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();
      project_ = s;
      return s;
    }
  }
  /**
   * optional string project = 1;
   * @return The bytes for project.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getProjectBytes() {
    java.lang.Object ref = project_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      project_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int NAME_FIELD_NUMBER = 2;
  @SuppressWarnings("serial")
  private volatile java.lang.Object name_ = "";
  /**
   * string name = 2;
   * @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;
    }
  }
  /**
   * string name = 2;
   * @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 KIND_FIELD_NUMBER = 3;
  @SuppressWarnings("serial")
  private volatile java.lang.Object kind_ = "";
  /**
   * string kind = 3;
   * @return The kind.
   */
  @java.lang.Override
  public java.lang.String getKind() {
    java.lang.Object ref = kind_;
    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();
      kind_ = s;
      return s;
    }
  }
  /**
   * string kind = 3;
   * @return The bytes for kind.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getKindBytes() {
    java.lang.Object ref = kind_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      kind_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int REQUIREDBYCREATE_FIELD_NUMBER = 6;
  @SuppressWarnings("serial")
  private java.util.List requiredByCreate_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
   */
  @java.lang.Override
  public java.util.List getRequiredByCreateList() {
    return requiredByCreate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
   */
  @java.lang.Override
  public java.util.List 
      getRequiredByCreateOrBuilderList() {
    return requiredByCreate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
   */
  @java.lang.Override
  public int getRequiredByCreateCount() {
    return requiredByCreate_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByCreate(int index) {
    return requiredByCreate_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByCreateOrBuilder(
      int index) {
    return requiredByCreate_.get(index);
  }

  public static final int REQUIREDBYWRITE_FIELD_NUMBER = 7;
  @SuppressWarnings("serial")
  private java.util.List requiredByWrite_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
   */
  @java.lang.Override
  public java.util.List getRequiredByWriteList() {
    return requiredByWrite_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
   */
  @java.lang.Override
  public java.util.List 
      getRequiredByWriteOrBuilderList() {
    return requiredByWrite_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
   */
  @java.lang.Override
  public int getRequiredByWriteCount() {
    return requiredByWrite_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByWrite(int index) {
    return requiredByWrite_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByWriteOrBuilder(
      int index) {
    return requiredByWrite_.get(index);
  }

  public static final int REQUIREDBYREAD_FIELD_NUMBER = 8;
  @SuppressWarnings("serial")
  private java.util.List requiredByRead_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
   */
  @java.lang.Override
  public java.util.List getRequiredByReadList() {
    return requiredByRead_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
   */
  @java.lang.Override
  public java.util.List 
      getRequiredByReadOrBuilderList() {
    return requiredByRead_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
   */
  @java.lang.Override
  public int getRequiredByReadCount() {
    return requiredByRead_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByRead(int index) {
    return requiredByRead_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByReadOrBuilder(
      int index) {
    return requiredByRead_.get(index);
  }

  public static final int PROVIDEDBYCREATE_FIELD_NUMBER = 9;
  @SuppressWarnings("serial")
  private java.util.List providedByCreate_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
   */
  @java.lang.Override
  public java.util.List getProvidedByCreateList() {
    return providedByCreate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
   */
  @java.lang.Override
  public java.util.List 
      getProvidedByCreateOrBuilderList() {
    return providedByCreate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
   */
  @java.lang.Override
  public int getProvidedByCreateCount() {
    return providedByCreate_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByCreate(int index) {
    return providedByCreate_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByCreateOrBuilder(
      int index) {
    return providedByCreate_.get(index);
  }

  public static final int PROVIDEDBYWRITE_FIELD_NUMBER = 10;
  @SuppressWarnings("serial")
  private java.util.List providedByWrite_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
   */
  @java.lang.Override
  public java.util.List getProvidedByWriteList() {
    return providedByWrite_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
   */
  @java.lang.Override
  public java.util.List 
      getProvidedByWriteOrBuilderList() {
    return providedByWrite_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
   */
  @java.lang.Override
  public int getProvidedByWriteCount() {
    return providedByWrite_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByWrite(int index) {
    return providedByWrite_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByWriteOrBuilder(
      int index) {
    return providedByWrite_.get(index);
  }

  public static final int PROVIDEDBYREAD_FIELD_NUMBER = 11;
  @SuppressWarnings("serial")
  private java.util.List providedByRead_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
   */
  @java.lang.Override
  public java.util.List getProvidedByReadList() {
    return providedByRead_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
   */
  @java.lang.Override
  public java.util.List 
      getProvidedByReadOrBuilderList() {
    return providedByRead_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
   */
  @java.lang.Override
  public int getProvidedByReadCount() {
    return providedByRead_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByRead(int index) {
    return providedByRead_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByReadOrBuilder(
      int index) {
    return providedByRead_.get(index);
  }

  private byte memoizedIsInitialized = -1;
  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (((bitField0_ & 0x00000001) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, project_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kind_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, kind_);
    }
    for (int i = 0; i < requiredByCreate_.size(); i++) {
      output.writeMessage(6, requiredByCreate_.get(i));
    }
    for (int i = 0; i < requiredByWrite_.size(); i++) {
      output.writeMessage(7, requiredByWrite_.get(i));
    }
    for (int i = 0; i < requiredByRead_.size(); i++) {
      output.writeMessage(8, requiredByRead_.get(i));
    }
    for (int i = 0; i < providedByCreate_.size(); i++) {
      output.writeMessage(9, providedByCreate_.get(i));
    }
    for (int i = 0; i < providedByWrite_.size(); i++) {
      output.writeMessage(10, providedByWrite_.get(i));
    }
    for (int i = 0; i < providedByRead_.size(); i++) {
      output.writeMessage(11, providedByRead_.get(i));
    }
    getUnknownFields().writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, project_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kind_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, kind_);
    }
    for (int i = 0; i < requiredByCreate_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(6, requiredByCreate_.get(i));
    }
    for (int i = 0; i < requiredByWrite_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(7, requiredByWrite_.get(i));
    }
    for (int i = 0; i < requiredByRead_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(8, requiredByRead_.get(i));
    }
    for (int i = 0; i < providedByCreate_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(9, providedByCreate_.get(i));
    }
    for (int i = 0; i < providedByWrite_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(10, providedByWrite_.get(i));
    }
    for (int i = 0; i < providedByRead_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(11, providedByRead_.get(i));
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof com.dimajix.flowman.kernel.proto.relation.RelationDetails)) {
      return super.equals(obj);
    }
    com.dimajix.flowman.kernel.proto.relation.RelationDetails other = (com.dimajix.flowman.kernel.proto.relation.RelationDetails) obj;

    if (hasProject() != other.hasProject()) return false;
    if (hasProject()) {
      if (!getProject()
          .equals(other.getProject())) return false;
    }
    if (!getName()
        .equals(other.getName())) return false;
    if (!getKind()
        .equals(other.getKind())) return false;
    if (!getRequiredByCreateList()
        .equals(other.getRequiredByCreateList())) return false;
    if (!getRequiredByWriteList()
        .equals(other.getRequiredByWriteList())) return false;
    if (!getRequiredByReadList()
        .equals(other.getRequiredByReadList())) return false;
    if (!getProvidedByCreateList()
        .equals(other.getProvidedByCreateList())) return false;
    if (!getProvidedByWriteList()
        .equals(other.getProvidedByWriteList())) return false;
    if (!getProvidedByReadList()
        .equals(other.getProvidedByReadList())) 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 (hasProject()) {
      hash = (37 * hash) + PROJECT_FIELD_NUMBER;
      hash = (53 * hash) + getProject().hashCode();
    }
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    hash = (37 * hash) + KIND_FIELD_NUMBER;
    hash = (53 * hash) + getKind().hashCode();
    if (getRequiredByCreateCount() > 0) {
      hash = (37 * hash) + REQUIREDBYCREATE_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredByCreateList().hashCode();
    }
    if (getRequiredByWriteCount() > 0) {
      hash = (37 * hash) + REQUIREDBYWRITE_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredByWriteList().hashCode();
    }
    if (getRequiredByReadCount() > 0) {
      hash = (37 * hash) + REQUIREDBYREAD_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredByReadList().hashCode();
    }
    if (getProvidedByCreateCount() > 0) {
      hash = (37 * hash) + PROVIDEDBYCREATE_FIELD_NUMBER;
      hash = (53 * hash) + getProvidedByCreateList().hashCode();
    }
    if (getProvidedByWriteCount() > 0) {
      hash = (37 * hash) + PROVIDEDBYWRITE_FIELD_NUMBER;
      hash = (53 * hash) + getProvidedByWriteList().hashCode();
    }
    if (getProvidedByReadCount() > 0) {
      hash = (37 * hash) + PROVIDEDBYREAD_FIELD_NUMBER;
      hash = (53 * hash) + getProvidedByReadList().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails 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 com.dimajix.flowman.kernel.proto.relation.RelationDetails parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails 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 com.dimajix.flowman.kernel.proto.relation.RelationDetails parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails 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(com.dimajix.flowman.kernel.proto.relation.RelationDetails prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code com.dimajix.flowman.kernel.relation.RelationDetails}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder implements
      // @@protoc_insertion_point(builder_implements:com.dimajix.flowman.kernel.relation.RelationDetails)
      com.dimajix.flowman.kernel.proto.relation.RelationDetailsOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dimajix.flowman.kernel.proto.relation.RelationProto.internal_static_com_dimajix_flowman_kernel_relation_RelationDetails_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dimajix.flowman.kernel.proto.relation.RelationProto.internal_static_com_dimajix_flowman_kernel_relation_RelationDetails_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dimajix.flowman.kernel.proto.relation.RelationDetails.class, com.dimajix.flowman.kernel.proto.relation.RelationDetails.Builder.class);
    }

    // Construct using com.dimajix.flowman.kernel.proto.relation.RelationDetails.newBuilder()
    private Builder() {

    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);

    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      project_ = "";
      name_ = "";
      kind_ = "";
      if (requiredByCreateBuilder_ == null) {
        requiredByCreate_ = java.util.Collections.emptyList();
      } else {
        requiredByCreate_ = null;
        requiredByCreateBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000008);
      if (requiredByWriteBuilder_ == null) {
        requiredByWrite_ = java.util.Collections.emptyList();
      } else {
        requiredByWrite_ = null;
        requiredByWriteBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000010);
      if (requiredByReadBuilder_ == null) {
        requiredByRead_ = java.util.Collections.emptyList();
      } else {
        requiredByRead_ = null;
        requiredByReadBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000020);
      if (providedByCreateBuilder_ == null) {
        providedByCreate_ = java.util.Collections.emptyList();
      } else {
        providedByCreate_ = null;
        providedByCreateBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000040);
      if (providedByWriteBuilder_ == null) {
        providedByWrite_ = java.util.Collections.emptyList();
      } else {
        providedByWrite_ = null;
        providedByWriteBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000080);
      if (providedByReadBuilder_ == null) {
        providedByRead_ = java.util.Collections.emptyList();
      } else {
        providedByRead_ = null;
        providedByReadBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000100);
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.dimajix.flowman.kernel.proto.relation.RelationProto.internal_static_com_dimajix_flowman_kernel_relation_RelationDetails_descriptor;
    }

    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.relation.RelationDetails getDefaultInstanceForType() {
      return com.dimajix.flowman.kernel.proto.relation.RelationDetails.getDefaultInstance();
    }

    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.relation.RelationDetails build() {
      com.dimajix.flowman.kernel.proto.relation.RelationDetails result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.relation.RelationDetails buildPartial() {
      com.dimajix.flowman.kernel.proto.relation.RelationDetails result = new com.dimajix.flowman.kernel.proto.relation.RelationDetails(this);
      buildPartialRepeatedFields(result);
      if (bitField0_ != 0) { buildPartial0(result); }
      onBuilt();
      return result;
    }

    private void buildPartialRepeatedFields(com.dimajix.flowman.kernel.proto.relation.RelationDetails result) {
      if (requiredByCreateBuilder_ == null) {
        if (((bitField0_ & 0x00000008) != 0)) {
          requiredByCreate_ = java.util.Collections.unmodifiableList(requiredByCreate_);
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.requiredByCreate_ = requiredByCreate_;
      } else {
        result.requiredByCreate_ = requiredByCreateBuilder_.build();
      }
      if (requiredByWriteBuilder_ == null) {
        if (((bitField0_ & 0x00000010) != 0)) {
          requiredByWrite_ = java.util.Collections.unmodifiableList(requiredByWrite_);
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.requiredByWrite_ = requiredByWrite_;
      } else {
        result.requiredByWrite_ = requiredByWriteBuilder_.build();
      }
      if (requiredByReadBuilder_ == null) {
        if (((bitField0_ & 0x00000020) != 0)) {
          requiredByRead_ = java.util.Collections.unmodifiableList(requiredByRead_);
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.requiredByRead_ = requiredByRead_;
      } else {
        result.requiredByRead_ = requiredByReadBuilder_.build();
      }
      if (providedByCreateBuilder_ == null) {
        if (((bitField0_ & 0x00000040) != 0)) {
          providedByCreate_ = java.util.Collections.unmodifiableList(providedByCreate_);
          bitField0_ = (bitField0_ & ~0x00000040);
        }
        result.providedByCreate_ = providedByCreate_;
      } else {
        result.providedByCreate_ = providedByCreateBuilder_.build();
      }
      if (providedByWriteBuilder_ == null) {
        if (((bitField0_ & 0x00000080) != 0)) {
          providedByWrite_ = java.util.Collections.unmodifiableList(providedByWrite_);
          bitField0_ = (bitField0_ & ~0x00000080);
        }
        result.providedByWrite_ = providedByWrite_;
      } else {
        result.providedByWrite_ = providedByWriteBuilder_.build();
      }
      if (providedByReadBuilder_ == null) {
        if (((bitField0_ & 0x00000100) != 0)) {
          providedByRead_ = java.util.Collections.unmodifiableList(providedByRead_);
          bitField0_ = (bitField0_ & ~0x00000100);
        }
        result.providedByRead_ = providedByRead_;
      } else {
        result.providedByRead_ = providedByReadBuilder_.build();
      }
    }

    private void buildPartial0(com.dimajix.flowman.kernel.proto.relation.RelationDetails result) {
      int from_bitField0_ = bitField0_;
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.project_ = project_;
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.name_ = name_;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.kind_ = kind_;
      }
      result.bitField0_ |= to_bitField0_;
    }

    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.dimajix.flowman.kernel.proto.relation.RelationDetails) {
        return mergeFrom((com.dimajix.flowman.kernel.proto.relation.RelationDetails)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.dimajix.flowman.kernel.proto.relation.RelationDetails other) {
      if (other == com.dimajix.flowman.kernel.proto.relation.RelationDetails.getDefaultInstance()) return this;
      if (other.hasProject()) {
        project_ = other.project_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        bitField0_ |= 0x00000002;
        onChanged();
      }
      if (!other.getKind().isEmpty()) {
        kind_ = other.kind_;
        bitField0_ |= 0x00000004;
        onChanged();
      }
      if (requiredByCreateBuilder_ == null) {
        if (!other.requiredByCreate_.isEmpty()) {
          if (requiredByCreate_.isEmpty()) {
            requiredByCreate_ = other.requiredByCreate_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureRequiredByCreateIsMutable();
            requiredByCreate_.addAll(other.requiredByCreate_);
          }
          onChanged();
        }
      } else {
        if (!other.requiredByCreate_.isEmpty()) {
          if (requiredByCreateBuilder_.isEmpty()) {
            requiredByCreateBuilder_.dispose();
            requiredByCreateBuilder_ = null;
            requiredByCreate_ = other.requiredByCreate_;
            bitField0_ = (bitField0_ & ~0x00000008);
            requiredByCreateBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequiredByCreateFieldBuilder() : null;
          } else {
            requiredByCreateBuilder_.addAllMessages(other.requiredByCreate_);
          }
        }
      }
      if (requiredByWriteBuilder_ == null) {
        if (!other.requiredByWrite_.isEmpty()) {
          if (requiredByWrite_.isEmpty()) {
            requiredByWrite_ = other.requiredByWrite_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureRequiredByWriteIsMutable();
            requiredByWrite_.addAll(other.requiredByWrite_);
          }
          onChanged();
        }
      } else {
        if (!other.requiredByWrite_.isEmpty()) {
          if (requiredByWriteBuilder_.isEmpty()) {
            requiredByWriteBuilder_.dispose();
            requiredByWriteBuilder_ = null;
            requiredByWrite_ = other.requiredByWrite_;
            bitField0_ = (bitField0_ & ~0x00000010);
            requiredByWriteBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequiredByWriteFieldBuilder() : null;
          } else {
            requiredByWriteBuilder_.addAllMessages(other.requiredByWrite_);
          }
        }
      }
      if (requiredByReadBuilder_ == null) {
        if (!other.requiredByRead_.isEmpty()) {
          if (requiredByRead_.isEmpty()) {
            requiredByRead_ = other.requiredByRead_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureRequiredByReadIsMutable();
            requiredByRead_.addAll(other.requiredByRead_);
          }
          onChanged();
        }
      } else {
        if (!other.requiredByRead_.isEmpty()) {
          if (requiredByReadBuilder_.isEmpty()) {
            requiredByReadBuilder_.dispose();
            requiredByReadBuilder_ = null;
            requiredByRead_ = other.requiredByRead_;
            bitField0_ = (bitField0_ & ~0x00000020);
            requiredByReadBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequiredByReadFieldBuilder() : null;
          } else {
            requiredByReadBuilder_.addAllMessages(other.requiredByRead_);
          }
        }
      }
      if (providedByCreateBuilder_ == null) {
        if (!other.providedByCreate_.isEmpty()) {
          if (providedByCreate_.isEmpty()) {
            providedByCreate_ = other.providedByCreate_;
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            ensureProvidedByCreateIsMutable();
            providedByCreate_.addAll(other.providedByCreate_);
          }
          onChanged();
        }
      } else {
        if (!other.providedByCreate_.isEmpty()) {
          if (providedByCreateBuilder_.isEmpty()) {
            providedByCreateBuilder_.dispose();
            providedByCreateBuilder_ = null;
            providedByCreate_ = other.providedByCreate_;
            bitField0_ = (bitField0_ & ~0x00000040);
            providedByCreateBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getProvidedByCreateFieldBuilder() : null;
          } else {
            providedByCreateBuilder_.addAllMessages(other.providedByCreate_);
          }
        }
      }
      if (providedByWriteBuilder_ == null) {
        if (!other.providedByWrite_.isEmpty()) {
          if (providedByWrite_.isEmpty()) {
            providedByWrite_ = other.providedByWrite_;
            bitField0_ = (bitField0_ & ~0x00000080);
          } else {
            ensureProvidedByWriteIsMutable();
            providedByWrite_.addAll(other.providedByWrite_);
          }
          onChanged();
        }
      } else {
        if (!other.providedByWrite_.isEmpty()) {
          if (providedByWriteBuilder_.isEmpty()) {
            providedByWriteBuilder_.dispose();
            providedByWriteBuilder_ = null;
            providedByWrite_ = other.providedByWrite_;
            bitField0_ = (bitField0_ & ~0x00000080);
            providedByWriteBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getProvidedByWriteFieldBuilder() : null;
          } else {
            providedByWriteBuilder_.addAllMessages(other.providedByWrite_);
          }
        }
      }
      if (providedByReadBuilder_ == null) {
        if (!other.providedByRead_.isEmpty()) {
          if (providedByRead_.isEmpty()) {
            providedByRead_ = other.providedByRead_;
            bitField0_ = (bitField0_ & ~0x00000100);
          } else {
            ensureProvidedByReadIsMutable();
            providedByRead_.addAll(other.providedByRead_);
          }
          onChanged();
        }
      } else {
        if (!other.providedByRead_.isEmpty()) {
          if (providedByReadBuilder_.isEmpty()) {
            providedByReadBuilder_.dispose();
            providedByReadBuilder_ = null;
            providedByRead_ = other.providedByRead_;
            bitField0_ = (bitField0_ & ~0x00000100);
            providedByReadBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getProvidedByReadFieldBuilder() : null;
          } else {
            providedByReadBuilder_.addAllMessages(other.providedByRead_);
          }
        }
      }
      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: {
              project_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000001;
              break;
            } // case 10
            case 18: {
              name_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000002;
              break;
            } // case 18
            case 26: {
              kind_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000004;
              break;
            } // case 26
            case 50: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (requiredByCreateBuilder_ == null) {
                ensureRequiredByCreateIsMutable();
                requiredByCreate_.add(m);
              } else {
                requiredByCreateBuilder_.addMessage(m);
              }
              break;
            } // case 50
            case 58: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (requiredByWriteBuilder_ == null) {
                ensureRequiredByWriteIsMutable();
                requiredByWrite_.add(m);
              } else {
                requiredByWriteBuilder_.addMessage(m);
              }
              break;
            } // case 58
            case 66: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (requiredByReadBuilder_ == null) {
                ensureRequiredByReadIsMutable();
                requiredByRead_.add(m);
              } else {
                requiredByReadBuilder_.addMessage(m);
              }
              break;
            } // case 66
            case 74: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (providedByCreateBuilder_ == null) {
                ensureProvidedByCreateIsMutable();
                providedByCreate_.add(m);
              } else {
                providedByCreateBuilder_.addMessage(m);
              }
              break;
            } // case 74
            case 82: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (providedByWriteBuilder_ == null) {
                ensureProvidedByWriteIsMutable();
                providedByWrite_.add(m);
              } else {
                providedByWriteBuilder_.addMessage(m);
              }
              break;
            } // case 82
            case 90: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (providedByReadBuilder_ == null) {
                ensureProvidedByReadIsMutable();
                providedByRead_.add(m);
              } else {
                providedByReadBuilder_.addMessage(m);
              }
              break;
            } // case 90
            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 project_ = "";
    /**
     * optional string project = 1;
     * @return Whether the project field is set.
     */
    public boolean hasProject() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string project = 1;
     * @return The project.
     */
    public java.lang.String getProject() {
      java.lang.Object ref = project_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        project_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string project = 1;
     * @return The bytes for project.
     */
    public com.google.protobuf.ByteString
        getProjectBytes() {
      java.lang.Object ref = project_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        project_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string project = 1;
     * @param value The project to set.
     * @return This builder for chaining.
     */
    public Builder setProject(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      project_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     * optional string project = 1;
     * @return This builder for chaining.
     */
    public Builder clearProject() {
      project_ = getDefaultInstance().getProject();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }
    /**
     * optional string project = 1;
     * @param value The bytes for project to set.
     * @return This builder for chaining.
     */
    public Builder setProjectBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      project_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }

    private java.lang.Object name_ = "";
    /**
     * string name = 2;
     * @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;
      }
    }
    /**
     * string name = 2;
     * @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;
      }
    }
    /**
     * string name = 2;
     * @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_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * string name = 2;
     * @return This builder for chaining.
     */
    public Builder clearName() {
      name_ = getDefaultInstance().getName();
      bitField0_ = (bitField0_ & ~0x00000002);
      onChanged();
      return this;
    }
    /**
     * string name = 2;
     * @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_ |= 0x00000002;
      onChanged();
      return this;
    }

    private java.lang.Object kind_ = "";
    /**
     * string kind = 3;
     * @return The kind.
     */
    public java.lang.String getKind() {
      java.lang.Object ref = kind_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        kind_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string kind = 3;
     * @return The bytes for kind.
     */
    public com.google.protobuf.ByteString
        getKindBytes() {
      java.lang.Object ref = kind_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        kind_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string kind = 3;
     * @param value The kind to set.
     * @return This builder for chaining.
     */
    public Builder setKind(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      kind_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     * string kind = 3;
     * @return This builder for chaining.
     */
    public Builder clearKind() {
      kind_ = getDefaultInstance().getKind();
      bitField0_ = (bitField0_ & ~0x00000004);
      onChanged();
      return this;
    }
    /**
     * string kind = 3;
     * @param value The bytes for kind to set.
     * @return This builder for chaining.
     */
    public Builder setKindBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      kind_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }

    private java.util.List requiredByCreate_ =
      java.util.Collections.emptyList();
    private void ensureRequiredByCreateIsMutable() {
      if (!((bitField0_ & 0x00000008) != 0)) {
        requiredByCreate_ = new java.util.ArrayList(requiredByCreate_);
        bitField0_ |= 0x00000008;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> requiredByCreateBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public java.util.List getRequiredByCreateList() {
      if (requiredByCreateBuilder_ == null) {
        return java.util.Collections.unmodifiableList(requiredByCreate_);
      } else {
        return requiredByCreateBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public int getRequiredByCreateCount() {
      if (requiredByCreateBuilder_ == null) {
        return requiredByCreate_.size();
      } else {
        return requiredByCreateBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByCreate(int index) {
      if (requiredByCreateBuilder_ == null) {
        return requiredByCreate_.get(index);
      } else {
        return requiredByCreateBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public Builder setRequiredByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.set(index, value);
        onChanged();
      } else {
        requiredByCreateBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public Builder setRequiredByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.set(index, builderForValue.build());
        onChanged();
      } else {
        requiredByCreateBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public Builder addRequiredByCreate(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.add(value);
        onChanged();
      } else {
        requiredByCreateBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public Builder addRequiredByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.add(index, value);
        onChanged();
      } else {
        requiredByCreateBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public Builder addRequiredByCreate(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.add(builderForValue.build());
        onChanged();
      } else {
        requiredByCreateBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public Builder addRequiredByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.add(index, builderForValue.build());
        onChanged();
      } else {
        requiredByCreateBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public Builder addAllRequiredByCreate(
        java.lang.Iterable values) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, requiredByCreate_);
        onChanged();
      } else {
        requiredByCreateBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public Builder clearRequiredByCreate() {
      if (requiredByCreateBuilder_ == null) {
        requiredByCreate_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
      } else {
        requiredByCreateBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public Builder removeRequiredByCreate(int index) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.remove(index);
        onChanged();
      } else {
        requiredByCreateBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getRequiredByCreateBuilder(
        int index) {
      return getRequiredByCreateFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByCreateOrBuilder(
        int index) {
      if (requiredByCreateBuilder_ == null) {
        return requiredByCreate_.get(index);  } else {
        return requiredByCreateBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public java.util.List 
         getRequiredByCreateOrBuilderList() {
      if (requiredByCreateBuilder_ != null) {
        return requiredByCreateBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(requiredByCreate_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByCreateBuilder() {
      return getRequiredByCreateFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByCreateBuilder(
        int index) {
      return getRequiredByCreateFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 6;
     */
    public java.util.List 
         getRequiredByCreateBuilderList() {
      return getRequiredByCreateFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getRequiredByCreateFieldBuilder() {
      if (requiredByCreateBuilder_ == null) {
        requiredByCreateBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                requiredByCreate_,
                ((bitField0_ & 0x00000008) != 0),
                getParentForChildren(),
                isClean());
        requiredByCreate_ = null;
      }
      return requiredByCreateBuilder_;
    }

    private java.util.List requiredByWrite_ =
      java.util.Collections.emptyList();
    private void ensureRequiredByWriteIsMutable() {
      if (!((bitField0_ & 0x00000010) != 0)) {
        requiredByWrite_ = new java.util.ArrayList(requiredByWrite_);
        bitField0_ |= 0x00000010;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> requiredByWriteBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public java.util.List getRequiredByWriteList() {
      if (requiredByWriteBuilder_ == null) {
        return java.util.Collections.unmodifiableList(requiredByWrite_);
      } else {
        return requiredByWriteBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public int getRequiredByWriteCount() {
      if (requiredByWriteBuilder_ == null) {
        return requiredByWrite_.size();
      } else {
        return requiredByWriteBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByWrite(int index) {
      if (requiredByWriteBuilder_ == null) {
        return requiredByWrite_.get(index);
      } else {
        return requiredByWriteBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public Builder setRequiredByWrite(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByWriteBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByWriteIsMutable();
        requiredByWrite_.set(index, value);
        onChanged();
      } else {
        requiredByWriteBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public Builder setRequiredByWrite(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByWriteBuilder_ == null) {
        ensureRequiredByWriteIsMutable();
        requiredByWrite_.set(index, builderForValue.build());
        onChanged();
      } else {
        requiredByWriteBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public Builder addRequiredByWrite(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByWriteBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByWriteIsMutable();
        requiredByWrite_.add(value);
        onChanged();
      } else {
        requiredByWriteBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public Builder addRequiredByWrite(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByWriteBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByWriteIsMutable();
        requiredByWrite_.add(index, value);
        onChanged();
      } else {
        requiredByWriteBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public Builder addRequiredByWrite(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByWriteBuilder_ == null) {
        ensureRequiredByWriteIsMutable();
        requiredByWrite_.add(builderForValue.build());
        onChanged();
      } else {
        requiredByWriteBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public Builder addRequiredByWrite(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByWriteBuilder_ == null) {
        ensureRequiredByWriteIsMutable();
        requiredByWrite_.add(index, builderForValue.build());
        onChanged();
      } else {
        requiredByWriteBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public Builder addAllRequiredByWrite(
        java.lang.Iterable values) {
      if (requiredByWriteBuilder_ == null) {
        ensureRequiredByWriteIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, requiredByWrite_);
        onChanged();
      } else {
        requiredByWriteBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public Builder clearRequiredByWrite() {
      if (requiredByWriteBuilder_ == null) {
        requiredByWrite_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
      } else {
        requiredByWriteBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public Builder removeRequiredByWrite(int index) {
      if (requiredByWriteBuilder_ == null) {
        ensureRequiredByWriteIsMutable();
        requiredByWrite_.remove(index);
        onChanged();
      } else {
        requiredByWriteBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getRequiredByWriteBuilder(
        int index) {
      return getRequiredByWriteFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByWriteOrBuilder(
        int index) {
      if (requiredByWriteBuilder_ == null) {
        return requiredByWrite_.get(index);  } else {
        return requiredByWriteBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public java.util.List 
         getRequiredByWriteOrBuilderList() {
      if (requiredByWriteBuilder_ != null) {
        return requiredByWriteBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(requiredByWrite_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByWriteBuilder() {
      return getRequiredByWriteFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByWriteBuilder(
        int index) {
      return getRequiredByWriteFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByWrite = 7;
     */
    public java.util.List 
         getRequiredByWriteBuilderList() {
      return getRequiredByWriteFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getRequiredByWriteFieldBuilder() {
      if (requiredByWriteBuilder_ == null) {
        requiredByWriteBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                requiredByWrite_,
                ((bitField0_ & 0x00000010) != 0),
                getParentForChildren(),
                isClean());
        requiredByWrite_ = null;
      }
      return requiredByWriteBuilder_;
    }

    private java.util.List requiredByRead_ =
      java.util.Collections.emptyList();
    private void ensureRequiredByReadIsMutable() {
      if (!((bitField0_ & 0x00000020) != 0)) {
        requiredByRead_ = new java.util.ArrayList(requiredByRead_);
        bitField0_ |= 0x00000020;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> requiredByReadBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public java.util.List getRequiredByReadList() {
      if (requiredByReadBuilder_ == null) {
        return java.util.Collections.unmodifiableList(requiredByRead_);
      } else {
        return requiredByReadBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public int getRequiredByReadCount() {
      if (requiredByReadBuilder_ == null) {
        return requiredByRead_.size();
      } else {
        return requiredByReadBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByRead(int index) {
      if (requiredByReadBuilder_ == null) {
        return requiredByRead_.get(index);
      } else {
        return requiredByReadBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public Builder setRequiredByRead(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByReadBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByReadIsMutable();
        requiredByRead_.set(index, value);
        onChanged();
      } else {
        requiredByReadBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public Builder setRequiredByRead(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByReadBuilder_ == null) {
        ensureRequiredByReadIsMutable();
        requiredByRead_.set(index, builderForValue.build());
        onChanged();
      } else {
        requiredByReadBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public Builder addRequiredByRead(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByReadBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByReadIsMutable();
        requiredByRead_.add(value);
        onChanged();
      } else {
        requiredByReadBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public Builder addRequiredByRead(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByReadBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByReadIsMutable();
        requiredByRead_.add(index, value);
        onChanged();
      } else {
        requiredByReadBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public Builder addRequiredByRead(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByReadBuilder_ == null) {
        ensureRequiredByReadIsMutable();
        requiredByRead_.add(builderForValue.build());
        onChanged();
      } else {
        requiredByReadBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public Builder addRequiredByRead(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByReadBuilder_ == null) {
        ensureRequiredByReadIsMutable();
        requiredByRead_.add(index, builderForValue.build());
        onChanged();
      } else {
        requiredByReadBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public Builder addAllRequiredByRead(
        java.lang.Iterable values) {
      if (requiredByReadBuilder_ == null) {
        ensureRequiredByReadIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, requiredByRead_);
        onChanged();
      } else {
        requiredByReadBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public Builder clearRequiredByRead() {
      if (requiredByReadBuilder_ == null) {
        requiredByRead_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
      } else {
        requiredByReadBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public Builder removeRequiredByRead(int index) {
      if (requiredByReadBuilder_ == null) {
        ensureRequiredByReadIsMutable();
        requiredByRead_.remove(index);
        onChanged();
      } else {
        requiredByReadBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getRequiredByReadBuilder(
        int index) {
      return getRequiredByReadFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByReadOrBuilder(
        int index) {
      if (requiredByReadBuilder_ == null) {
        return requiredByRead_.get(index);  } else {
        return requiredByReadBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public java.util.List 
         getRequiredByReadOrBuilderList() {
      if (requiredByReadBuilder_ != null) {
        return requiredByReadBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(requiredByRead_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByReadBuilder() {
      return getRequiredByReadFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByReadBuilder(
        int index) {
      return getRequiredByReadFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByRead = 8;
     */
    public java.util.List 
         getRequiredByReadBuilderList() {
      return getRequiredByReadFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getRequiredByReadFieldBuilder() {
      if (requiredByReadBuilder_ == null) {
        requiredByReadBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                requiredByRead_,
                ((bitField0_ & 0x00000020) != 0),
                getParentForChildren(),
                isClean());
        requiredByRead_ = null;
      }
      return requiredByReadBuilder_;
    }

    private java.util.List providedByCreate_ =
      java.util.Collections.emptyList();
    private void ensureProvidedByCreateIsMutable() {
      if (!((bitField0_ & 0x00000040) != 0)) {
        providedByCreate_ = new java.util.ArrayList(providedByCreate_);
        bitField0_ |= 0x00000040;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> providedByCreateBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public java.util.List getProvidedByCreateList() {
      if (providedByCreateBuilder_ == null) {
        return java.util.Collections.unmodifiableList(providedByCreate_);
      } else {
        return providedByCreateBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public int getProvidedByCreateCount() {
      if (providedByCreateBuilder_ == null) {
        return providedByCreate_.size();
      } else {
        return providedByCreateBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByCreate(int index) {
      if (providedByCreateBuilder_ == null) {
        return providedByCreate_.get(index);
      } else {
        return providedByCreateBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public Builder setProvidedByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByCreateIsMutable();
        providedByCreate_.set(index, value);
        onChanged();
      } else {
        providedByCreateBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public Builder setProvidedByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        providedByCreate_.set(index, builderForValue.build());
        onChanged();
      } else {
        providedByCreateBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public Builder addProvidedByCreate(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByCreateIsMutable();
        providedByCreate_.add(value);
        onChanged();
      } else {
        providedByCreateBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public Builder addProvidedByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByCreateIsMutable();
        providedByCreate_.add(index, value);
        onChanged();
      } else {
        providedByCreateBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public Builder addProvidedByCreate(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        providedByCreate_.add(builderForValue.build());
        onChanged();
      } else {
        providedByCreateBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public Builder addProvidedByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        providedByCreate_.add(index, builderForValue.build());
        onChanged();
      } else {
        providedByCreateBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public Builder addAllProvidedByCreate(
        java.lang.Iterable values) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, providedByCreate_);
        onChanged();
      } else {
        providedByCreateBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public Builder clearProvidedByCreate() {
      if (providedByCreateBuilder_ == null) {
        providedByCreate_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
      } else {
        providedByCreateBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public Builder removeProvidedByCreate(int index) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        providedByCreate_.remove(index);
        onChanged();
      } else {
        providedByCreateBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getProvidedByCreateBuilder(
        int index) {
      return getProvidedByCreateFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByCreateOrBuilder(
        int index) {
      if (providedByCreateBuilder_ == null) {
        return providedByCreate_.get(index);  } else {
        return providedByCreateBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public java.util.List 
         getProvidedByCreateOrBuilderList() {
      if (providedByCreateBuilder_ != null) {
        return providedByCreateBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(providedByCreate_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByCreateBuilder() {
      return getProvidedByCreateFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByCreateBuilder(
        int index) {
      return getProvidedByCreateFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 9;
     */
    public java.util.List 
         getProvidedByCreateBuilderList() {
      return getProvidedByCreateFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getProvidedByCreateFieldBuilder() {
      if (providedByCreateBuilder_ == null) {
        providedByCreateBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                providedByCreate_,
                ((bitField0_ & 0x00000040) != 0),
                getParentForChildren(),
                isClean());
        providedByCreate_ = null;
      }
      return providedByCreateBuilder_;
    }

    private java.util.List providedByWrite_ =
      java.util.Collections.emptyList();
    private void ensureProvidedByWriteIsMutable() {
      if (!((bitField0_ & 0x00000080) != 0)) {
        providedByWrite_ = new java.util.ArrayList(providedByWrite_);
        bitField0_ |= 0x00000080;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> providedByWriteBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public java.util.List getProvidedByWriteList() {
      if (providedByWriteBuilder_ == null) {
        return java.util.Collections.unmodifiableList(providedByWrite_);
      } else {
        return providedByWriteBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public int getProvidedByWriteCount() {
      if (providedByWriteBuilder_ == null) {
        return providedByWrite_.size();
      } else {
        return providedByWriteBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByWrite(int index) {
      if (providedByWriteBuilder_ == null) {
        return providedByWrite_.get(index);
      } else {
        return providedByWriteBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public Builder setProvidedByWrite(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByWriteBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByWriteIsMutable();
        providedByWrite_.set(index, value);
        onChanged();
      } else {
        providedByWriteBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public Builder setProvidedByWrite(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByWriteBuilder_ == null) {
        ensureProvidedByWriteIsMutable();
        providedByWrite_.set(index, builderForValue.build());
        onChanged();
      } else {
        providedByWriteBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public Builder addProvidedByWrite(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByWriteBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByWriteIsMutable();
        providedByWrite_.add(value);
        onChanged();
      } else {
        providedByWriteBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public Builder addProvidedByWrite(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByWriteBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByWriteIsMutable();
        providedByWrite_.add(index, value);
        onChanged();
      } else {
        providedByWriteBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public Builder addProvidedByWrite(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByWriteBuilder_ == null) {
        ensureProvidedByWriteIsMutable();
        providedByWrite_.add(builderForValue.build());
        onChanged();
      } else {
        providedByWriteBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public Builder addProvidedByWrite(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByWriteBuilder_ == null) {
        ensureProvidedByWriteIsMutable();
        providedByWrite_.add(index, builderForValue.build());
        onChanged();
      } else {
        providedByWriteBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public Builder addAllProvidedByWrite(
        java.lang.Iterable values) {
      if (providedByWriteBuilder_ == null) {
        ensureProvidedByWriteIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, providedByWrite_);
        onChanged();
      } else {
        providedByWriteBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public Builder clearProvidedByWrite() {
      if (providedByWriteBuilder_ == null) {
        providedByWrite_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
      } else {
        providedByWriteBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public Builder removeProvidedByWrite(int index) {
      if (providedByWriteBuilder_ == null) {
        ensureProvidedByWriteIsMutable();
        providedByWrite_.remove(index);
        onChanged();
      } else {
        providedByWriteBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getProvidedByWriteBuilder(
        int index) {
      return getProvidedByWriteFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByWriteOrBuilder(
        int index) {
      if (providedByWriteBuilder_ == null) {
        return providedByWrite_.get(index);  } else {
        return providedByWriteBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public java.util.List 
         getProvidedByWriteOrBuilderList() {
      if (providedByWriteBuilder_ != null) {
        return providedByWriteBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(providedByWrite_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByWriteBuilder() {
      return getProvidedByWriteFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByWriteBuilder(
        int index) {
      return getProvidedByWriteFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByWrite = 10;
     */
    public java.util.List 
         getProvidedByWriteBuilderList() {
      return getProvidedByWriteFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getProvidedByWriteFieldBuilder() {
      if (providedByWriteBuilder_ == null) {
        providedByWriteBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                providedByWrite_,
                ((bitField0_ & 0x00000080) != 0),
                getParentForChildren(),
                isClean());
        providedByWrite_ = null;
      }
      return providedByWriteBuilder_;
    }

    private java.util.List providedByRead_ =
      java.util.Collections.emptyList();
    private void ensureProvidedByReadIsMutable() {
      if (!((bitField0_ & 0x00000100) != 0)) {
        providedByRead_ = new java.util.ArrayList(providedByRead_);
        bitField0_ |= 0x00000100;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> providedByReadBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public java.util.List getProvidedByReadList() {
      if (providedByReadBuilder_ == null) {
        return java.util.Collections.unmodifiableList(providedByRead_);
      } else {
        return providedByReadBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public int getProvidedByReadCount() {
      if (providedByReadBuilder_ == null) {
        return providedByRead_.size();
      } else {
        return providedByReadBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByRead(int index) {
      if (providedByReadBuilder_ == null) {
        return providedByRead_.get(index);
      } else {
        return providedByReadBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public Builder setProvidedByRead(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByReadBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByReadIsMutable();
        providedByRead_.set(index, value);
        onChanged();
      } else {
        providedByReadBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public Builder setProvidedByRead(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByReadBuilder_ == null) {
        ensureProvidedByReadIsMutable();
        providedByRead_.set(index, builderForValue.build());
        onChanged();
      } else {
        providedByReadBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public Builder addProvidedByRead(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByReadBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByReadIsMutable();
        providedByRead_.add(value);
        onChanged();
      } else {
        providedByReadBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public Builder addProvidedByRead(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByReadBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByReadIsMutable();
        providedByRead_.add(index, value);
        onChanged();
      } else {
        providedByReadBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public Builder addProvidedByRead(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByReadBuilder_ == null) {
        ensureProvidedByReadIsMutable();
        providedByRead_.add(builderForValue.build());
        onChanged();
      } else {
        providedByReadBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public Builder addProvidedByRead(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByReadBuilder_ == null) {
        ensureProvidedByReadIsMutable();
        providedByRead_.add(index, builderForValue.build());
        onChanged();
      } else {
        providedByReadBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public Builder addAllProvidedByRead(
        java.lang.Iterable values) {
      if (providedByReadBuilder_ == null) {
        ensureProvidedByReadIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, providedByRead_);
        onChanged();
      } else {
        providedByReadBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public Builder clearProvidedByRead() {
      if (providedByReadBuilder_ == null) {
        providedByRead_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
      } else {
        providedByReadBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public Builder removeProvidedByRead(int index) {
      if (providedByReadBuilder_ == null) {
        ensureProvidedByReadIsMutable();
        providedByRead_.remove(index);
        onChanged();
      } else {
        providedByReadBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getProvidedByReadBuilder(
        int index) {
      return getProvidedByReadFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByReadOrBuilder(
        int index) {
      if (providedByReadBuilder_ == null) {
        return providedByRead_.get(index);  } else {
        return providedByReadBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public java.util.List 
         getProvidedByReadOrBuilderList() {
      if (providedByReadBuilder_ != null) {
        return providedByReadBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(providedByRead_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByReadBuilder() {
      return getProvidedByReadFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByReadBuilder(
        int index) {
      return getProvidedByReadFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByRead = 11;
     */
    public java.util.List 
         getProvidedByReadBuilderList() {
      return getProvidedByReadFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getProvidedByReadFieldBuilder() {
      if (providedByReadBuilder_ == null) {
        providedByReadBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                providedByRead_,
                ((bitField0_ & 0x00000100) != 0),
                getParentForChildren(),
                isClean());
        providedByRead_ = null;
      }
      return providedByReadBuilder_;
    }
    @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:com.dimajix.flowman.kernel.relation.RelationDetails)
  }

  // @@protoc_insertion_point(class_scope:com.dimajix.flowman.kernel.relation.RelationDetails)
  private static final com.dimajix.flowman.kernel.proto.relation.RelationDetails DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new com.dimajix.flowman.kernel.proto.relation.RelationDetails();
  }

  public static com.dimajix.flowman.kernel.proto.relation.RelationDetails getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public RelationDetails 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 com.dimajix.flowman.kernel.proto.relation.RelationDetails getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy