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

com.dimajix.flowman.kernel.proto.project.ProjectDetails Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: project.proto

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

/**
 * Protobuf type {@code com.dimajix.flowman.kernel.project.ProjectDetails}
 */
public final class ProjectDetails extends
    com.dimajix.shaded.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:com.dimajix.flowman.kernel.project.ProjectDetails)
    ProjectDetailsOrBuilder {
private static final long serialVersionUID = 0L;
  // Use ProjectDetails.newBuilder() to construct.
  private ProjectDetails(com.dimajix.shaded.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private ProjectDetails() {
    name_ = "";
    version_ = "";
    basedir_ = "";
    filename_ = "";
    description_ = "";
    targets_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    tests_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    jobs_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    mappings_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    relations_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    connections_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    profiles_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  }

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

  public static final com.dimajix.shaded.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.dimajix.flowman.kernel.proto.project.ProjectProto.internal_static_com_dimajix_flowman_kernel_project_ProjectDetails_descriptor;
  }

  @SuppressWarnings({"rawtypes"})
  @java.lang.Override
  protected com.dimajix.shaded.protobuf.MapField internalGetMapField(
      int number) {
    switch (number) {
      case 14:
        return internalGetEnvironment();
      case 15:
        return internalGetConfig();
      default:
        throw new RuntimeException(
            "Invalid map field number: " + number);
    }
  }
  @java.lang.Override
  protected com.dimajix.shaded.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.dimajix.flowman.kernel.proto.project.ProjectProto.internal_static_com_dimajix_flowman_kernel_project_ProjectDetails_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.dimajix.flowman.kernel.proto.project.ProjectDetails.class, com.dimajix.flowman.kernel.proto.project.ProjectDetails.Builder.class);
  }

  private int bitField0_;
  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.dimajix.shaded.protobuf.ByteString bs = 
          (com.dimajix.shaded.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.dimajix.shaded.protobuf.ByteString
      getNameBytes() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      name_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int VERSION_FIELD_NUMBER = 3;
  @SuppressWarnings("serial")
  private volatile java.lang.Object version_ = "";
  /**
   * optional string version = 3;
   * @return Whether the version field is set.
   */
  @java.lang.Override
  public boolean hasVersion() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * optional string version = 3;
   * @return The version.
   */
  @java.lang.Override
  public java.lang.String getVersion() {
    java.lang.Object ref = version_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.dimajix.shaded.protobuf.ByteString bs = 
          (com.dimajix.shaded.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      version_ = s;
      return s;
    }
  }
  /**
   * optional string version = 3;
   * @return The bytes for version.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getVersionBytes() {
    java.lang.Object ref = version_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      version_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int BASEDIR_FIELD_NUMBER = 4;
  @SuppressWarnings("serial")
  private volatile java.lang.Object basedir_ = "";
  /**
   * optional string basedir = 4;
   * @return Whether the basedir field is set.
   */
  @java.lang.Override
  public boolean hasBasedir() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * optional string basedir = 4;
   * @return The basedir.
   */
  @java.lang.Override
  public java.lang.String getBasedir() {
    java.lang.Object ref = basedir_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.dimajix.shaded.protobuf.ByteString bs = 
          (com.dimajix.shaded.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      basedir_ = s;
      return s;
    }
  }
  /**
   * optional string basedir = 4;
   * @return The bytes for basedir.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getBasedirBytes() {
    java.lang.Object ref = basedir_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      basedir_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int FILENAME_FIELD_NUMBER = 5;
  @SuppressWarnings("serial")
  private volatile java.lang.Object filename_ = "";
  /**
   * optional string filename = 5;
   * @return Whether the filename field is set.
   */
  @java.lang.Override
  public boolean hasFilename() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   * optional string filename = 5;
   * @return The filename.
   */
  @java.lang.Override
  public java.lang.String getFilename() {
    java.lang.Object ref = filename_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.dimajix.shaded.protobuf.ByteString bs = 
          (com.dimajix.shaded.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      filename_ = s;
      return s;
    }
  }
  /**
   * optional string filename = 5;
   * @return The bytes for filename.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getFilenameBytes() {
    java.lang.Object ref = filename_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      filename_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int DESCRIPTION_FIELD_NUMBER = 6;
  @SuppressWarnings("serial")
  private volatile java.lang.Object description_ = "";
  /**
   * optional string description = 6;
   * @return Whether the description field is set.
   */
  @java.lang.Override
  public boolean hasDescription() {
    return ((bitField0_ & 0x00000008) != 0);
  }
  /**
   * optional string description = 6;
   * @return The description.
   */
  @java.lang.Override
  public java.lang.String getDescription() {
    java.lang.Object ref = description_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.dimajix.shaded.protobuf.ByteString bs = 
          (com.dimajix.shaded.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      description_ = s;
      return s;
    }
  }
  /**
   * optional string description = 6;
   * @return The bytes for description.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getDescriptionBytes() {
    java.lang.Object ref = description_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      description_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int TARGETS_FIELD_NUMBER = 7;
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.LazyStringArrayList targets_ =
      com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  /**
   * repeated string targets = 7;
   * @return A list containing the targets.
   */
  public com.dimajix.shaded.protobuf.ProtocolStringList
      getTargetsList() {
    return targets_;
  }
  /**
   * repeated string targets = 7;
   * @return The count of targets.
   */
  public int getTargetsCount() {
    return targets_.size();
  }
  /**
   * repeated string targets = 7;
   * @param index The index of the element to return.
   * @return The targets at the given index.
   */
  public java.lang.String getTargets(int index) {
    return targets_.get(index);
  }
  /**
   * repeated string targets = 7;
   * @param index The index of the value to return.
   * @return The bytes of the targets at the given index.
   */
  public com.dimajix.shaded.protobuf.ByteString
      getTargetsBytes(int index) {
    return targets_.getByteString(index);
  }

  public static final int TESTS_FIELD_NUMBER = 8;
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.LazyStringArrayList tests_ =
      com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  /**
   * repeated string tests = 8;
   * @return A list containing the tests.
   */
  public com.dimajix.shaded.protobuf.ProtocolStringList
      getTestsList() {
    return tests_;
  }
  /**
   * repeated string tests = 8;
   * @return The count of tests.
   */
  public int getTestsCount() {
    return tests_.size();
  }
  /**
   * repeated string tests = 8;
   * @param index The index of the element to return.
   * @return The tests at the given index.
   */
  public java.lang.String getTests(int index) {
    return tests_.get(index);
  }
  /**
   * repeated string tests = 8;
   * @param index The index of the value to return.
   * @return The bytes of the tests at the given index.
   */
  public com.dimajix.shaded.protobuf.ByteString
      getTestsBytes(int index) {
    return tests_.getByteString(index);
  }

  public static final int JOBS_FIELD_NUMBER = 9;
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.LazyStringArrayList jobs_ =
      com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  /**
   * repeated string jobs = 9;
   * @return A list containing the jobs.
   */
  public com.dimajix.shaded.protobuf.ProtocolStringList
      getJobsList() {
    return jobs_;
  }
  /**
   * repeated string jobs = 9;
   * @return The count of jobs.
   */
  public int getJobsCount() {
    return jobs_.size();
  }
  /**
   * repeated string jobs = 9;
   * @param index The index of the element to return.
   * @return The jobs at the given index.
   */
  public java.lang.String getJobs(int index) {
    return jobs_.get(index);
  }
  /**
   * repeated string jobs = 9;
   * @param index The index of the value to return.
   * @return The bytes of the jobs at the given index.
   */
  public com.dimajix.shaded.protobuf.ByteString
      getJobsBytes(int index) {
    return jobs_.getByteString(index);
  }

  public static final int MAPPINGS_FIELD_NUMBER = 10;
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.LazyStringArrayList mappings_ =
      com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  /**
   * repeated string mappings = 10;
   * @return A list containing the mappings.
   */
  public com.dimajix.shaded.protobuf.ProtocolStringList
      getMappingsList() {
    return mappings_;
  }
  /**
   * repeated string mappings = 10;
   * @return The count of mappings.
   */
  public int getMappingsCount() {
    return mappings_.size();
  }
  /**
   * repeated string mappings = 10;
   * @param index The index of the element to return.
   * @return The mappings at the given index.
   */
  public java.lang.String getMappings(int index) {
    return mappings_.get(index);
  }
  /**
   * repeated string mappings = 10;
   * @param index The index of the value to return.
   * @return The bytes of the mappings at the given index.
   */
  public com.dimajix.shaded.protobuf.ByteString
      getMappingsBytes(int index) {
    return mappings_.getByteString(index);
  }

  public static final int RELATIONS_FIELD_NUMBER = 11;
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.LazyStringArrayList relations_ =
      com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  /**
   * repeated string relations = 11;
   * @return A list containing the relations.
   */
  public com.dimajix.shaded.protobuf.ProtocolStringList
      getRelationsList() {
    return relations_;
  }
  /**
   * repeated string relations = 11;
   * @return The count of relations.
   */
  public int getRelationsCount() {
    return relations_.size();
  }
  /**
   * repeated string relations = 11;
   * @param index The index of the element to return.
   * @return The relations at the given index.
   */
  public java.lang.String getRelations(int index) {
    return relations_.get(index);
  }
  /**
   * repeated string relations = 11;
   * @param index The index of the value to return.
   * @return The bytes of the relations at the given index.
   */
  public com.dimajix.shaded.protobuf.ByteString
      getRelationsBytes(int index) {
    return relations_.getByteString(index);
  }

  public static final int CONNECTIONS_FIELD_NUMBER = 12;
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.LazyStringArrayList connections_ =
      com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  /**
   * repeated string connections = 12;
   * @return A list containing the connections.
   */
  public com.dimajix.shaded.protobuf.ProtocolStringList
      getConnectionsList() {
    return connections_;
  }
  /**
   * repeated string connections = 12;
   * @return The count of connections.
   */
  public int getConnectionsCount() {
    return connections_.size();
  }
  /**
   * repeated string connections = 12;
   * @param index The index of the element to return.
   * @return The connections at the given index.
   */
  public java.lang.String getConnections(int index) {
    return connections_.get(index);
  }
  /**
   * repeated string connections = 12;
   * @param index The index of the value to return.
   * @return The bytes of the connections at the given index.
   */
  public com.dimajix.shaded.protobuf.ByteString
      getConnectionsBytes(int index) {
    return connections_.getByteString(index);
  }

  public static final int ENVIRONMENT_FIELD_NUMBER = 14;
  private static final class EnvironmentDefaultEntryHolder {
    static final com.dimajix.shaded.protobuf.MapEntry<
        java.lang.String, java.lang.String> defaultEntry =
            com.dimajix.shaded.protobuf.MapEntry
            .newDefaultInstance(
                com.dimajix.flowman.kernel.proto.project.ProjectProto.internal_static_com_dimajix_flowman_kernel_project_ProjectDetails_EnvironmentEntry_descriptor, 
                com.dimajix.shaded.protobuf.WireFormat.FieldType.STRING,
                "",
                com.dimajix.shaded.protobuf.WireFormat.FieldType.STRING,
                "");
  }
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.MapField<
      java.lang.String, java.lang.String> environment_;
  private com.dimajix.shaded.protobuf.MapField
  internalGetEnvironment() {
    if (environment_ == null) {
      return com.google.protobuf.MapField.emptyMapField(
          EnvironmentDefaultEntryHolder.defaultEntry);
    }
    return environment_;
  }
  public int getEnvironmentCount() {
    return internalGetEnvironment().getMap().size();
  }
  /**
   * map<string, string> environment = 14;
   */
  @java.lang.Override
  public boolean containsEnvironment(
      java.lang.String key) {
    if (key == null) { throw new NullPointerException("map key"); }
    return internalGetEnvironment().getMap().containsKey(key);
  }
  /**
   * Use {@link #getEnvironmentMap()} instead.
   */
  @java.lang.Override
  @java.lang.Deprecated
  public java.util.Map getEnvironment() {
    return getEnvironmentMap();
  }
  /**
   * map<string, string> environment = 14;
   */
  @java.lang.Override
  public java.util.Map getEnvironmentMap() {
    return internalGetEnvironment().getMap();
  }
  /**
   * map<string, string> environment = 14;
   */
  @java.lang.Override
  public /* nullable */
java.lang.String getEnvironmentOrDefault(
      java.lang.String key,
      /* nullable */
java.lang.String defaultValue) {
    if (key == null) { throw new NullPointerException("map key"); }
    java.util.Map map =
        internalGetEnvironment().getMap();
    return map.containsKey(key) ? map.get(key) : defaultValue;
  }
  /**
   * map<string, string> environment = 14;
   */
  @java.lang.Override
  public java.lang.String getEnvironmentOrThrow(
      java.lang.String key) {
    if (key == null) { throw new NullPointerException("map key"); }
    java.util.Map map =
        internalGetEnvironment().getMap();
    if (!map.containsKey(key)) {
      throw new java.lang.IllegalArgumentException();
    }
    return map.get(key);
  }

  public static final int CONFIG_FIELD_NUMBER = 15;
  private static final class ConfigDefaultEntryHolder {
    static final com.dimajix.shaded.protobuf.MapEntry<
        java.lang.String, java.lang.String> defaultEntry =
            com.dimajix.shaded.protobuf.MapEntry
            .newDefaultInstance(
                com.dimajix.flowman.kernel.proto.project.ProjectProto.internal_static_com_dimajix_flowman_kernel_project_ProjectDetails_ConfigEntry_descriptor, 
                com.dimajix.shaded.protobuf.WireFormat.FieldType.STRING,
                "",
                com.dimajix.shaded.protobuf.WireFormat.FieldType.STRING,
                "");
  }
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.MapField<
      java.lang.String, java.lang.String> config_;
  private com.dimajix.shaded.protobuf.MapField
  internalGetConfig() {
    if (config_ == null) {
      return com.google.protobuf.MapField.emptyMapField(
          ConfigDefaultEntryHolder.defaultEntry);
    }
    return config_;
  }
  public int getConfigCount() {
    return internalGetConfig().getMap().size();
  }
  /**
   * map<string, string> config = 15;
   */
  @java.lang.Override
  public boolean containsConfig(
      java.lang.String key) {
    if (key == null) { throw new NullPointerException("map key"); }
    return internalGetConfig().getMap().containsKey(key);
  }
  /**
   * Use {@link #getConfigMap()} instead.
   */
  @java.lang.Override
  @java.lang.Deprecated
  public java.util.Map getConfig() {
    return getConfigMap();
  }
  /**
   * map<string, string> config = 15;
   */
  @java.lang.Override
  public java.util.Map getConfigMap() {
    return internalGetConfig().getMap();
  }
  /**
   * map<string, string> config = 15;
   */
  @java.lang.Override
  public /* nullable */
java.lang.String getConfigOrDefault(
      java.lang.String key,
      /* nullable */
java.lang.String defaultValue) {
    if (key == null) { throw new NullPointerException("map key"); }
    java.util.Map map =
        internalGetConfig().getMap();
    return map.containsKey(key) ? map.get(key) : defaultValue;
  }
  /**
   * map<string, string> config = 15;
   */
  @java.lang.Override
  public java.lang.String getConfigOrThrow(
      java.lang.String key) {
    if (key == null) { throw new NullPointerException("map key"); }
    java.util.Map map =
        internalGetConfig().getMap();
    if (!map.containsKey(key)) {
      throw new java.lang.IllegalArgumentException();
    }
    return map.get(key);
  }

  public static final int PROFILES_FIELD_NUMBER = 16;
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.LazyStringArrayList profiles_ =
      com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  /**
   * repeated string profiles = 16;
   * @return A list containing the profiles.
   */
  public com.dimajix.shaded.protobuf.ProtocolStringList
      getProfilesList() {
    return profiles_;
  }
  /**
   * repeated string profiles = 16;
   * @return The count of profiles.
   */
  public int getProfilesCount() {
    return profiles_.size();
  }
  /**
   * repeated string profiles = 16;
   * @param index The index of the element to return.
   * @return The profiles at the given index.
   */
  public java.lang.String getProfiles(int index) {
    return profiles_.get(index);
  }
  /**
   * repeated string profiles = 16;
   * @param index The index of the value to return.
   * @return The bytes of the profiles at the given index.
   */
  public com.dimajix.shaded.protobuf.ByteString
      getProfilesBytes(int index) {
    return profiles_.getByteString(index);
  }

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

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.dimajix.shaded.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 3, version_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 4, basedir_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 5, filename_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 6, description_);
    }
    for (int i = 0; i < targets_.size(); i++) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 7, targets_.getRaw(i));
    }
    for (int i = 0; i < tests_.size(); i++) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 8, tests_.getRaw(i));
    }
    for (int i = 0; i < jobs_.size(); i++) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 9, jobs_.getRaw(i));
    }
    for (int i = 0; i < mappings_.size(); i++) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 10, mappings_.getRaw(i));
    }
    for (int i = 0; i < relations_.size(); i++) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 11, relations_.getRaw(i));
    }
    for (int i = 0; i < connections_.size(); i++) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 12, connections_.getRaw(i));
    }
    com.dimajix.shaded.protobuf.GeneratedMessageV3
      .serializeStringMapTo(
        output,
        internalGetEnvironment(),
        EnvironmentDefaultEntryHolder.defaultEntry,
        14);
    com.dimajix.shaded.protobuf.GeneratedMessageV3
      .serializeStringMapTo(
        output,
        internalGetConfig(),
        ConfigDefaultEntryHolder.defaultEntry,
        15);
    for (int i = 0; i < profiles_.size(); i++) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 16, profiles_.getRaw(i));
    }
    getUnknownFields().writeTo(output);
  }

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

    size = 0;
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(3, version_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(4, basedir_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(5, filename_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(6, description_);
    }
    {
      int dataSize = 0;
      for (int i = 0; i < targets_.size(); i++) {
        dataSize += computeStringSizeNoTag(targets_.getRaw(i));
      }
      size += dataSize;
      size += 1 * getTargetsList().size();
    }
    {
      int dataSize = 0;
      for (int i = 0; i < tests_.size(); i++) {
        dataSize += computeStringSizeNoTag(tests_.getRaw(i));
      }
      size += dataSize;
      size += 1 * getTestsList().size();
    }
    {
      int dataSize = 0;
      for (int i = 0; i < jobs_.size(); i++) {
        dataSize += computeStringSizeNoTag(jobs_.getRaw(i));
      }
      size += dataSize;
      size += 1 * getJobsList().size();
    }
    {
      int dataSize = 0;
      for (int i = 0; i < mappings_.size(); i++) {
        dataSize += computeStringSizeNoTag(mappings_.getRaw(i));
      }
      size += dataSize;
      size += 1 * getMappingsList().size();
    }
    {
      int dataSize = 0;
      for (int i = 0; i < relations_.size(); i++) {
        dataSize += computeStringSizeNoTag(relations_.getRaw(i));
      }
      size += dataSize;
      size += 1 * getRelationsList().size();
    }
    {
      int dataSize = 0;
      for (int i = 0; i < connections_.size(); i++) {
        dataSize += computeStringSizeNoTag(connections_.getRaw(i));
      }
      size += dataSize;
      size += 1 * getConnectionsList().size();
    }
    for (java.util.Map.Entry entry
         : internalGetEnvironment().getMap().entrySet()) {
      com.dimajix.shaded.protobuf.MapEntry
      environment__ = EnvironmentDefaultEntryHolder.defaultEntry.newBuilderForType()
          .setKey(entry.getKey())
          .setValue(entry.getValue())
          .build();
      size += com.dimajix.shaded.protobuf.CodedOutputStream
          .computeMessageSize(14, environment__);
    }
    for (java.util.Map.Entry entry
         : internalGetConfig().getMap().entrySet()) {
      com.dimajix.shaded.protobuf.MapEntry
      config__ = ConfigDefaultEntryHolder.defaultEntry.newBuilderForType()
          .setKey(entry.getKey())
          .setValue(entry.getValue())
          .build();
      size += com.dimajix.shaded.protobuf.CodedOutputStream
          .computeMessageSize(15, config__);
    }
    {
      int dataSize = 0;
      for (int i = 0; i < profiles_.size(); i++) {
        dataSize += computeStringSizeNoTag(profiles_.getRaw(i));
      }
      size += dataSize;
      size += 2 * getProfilesList().size();
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

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

    if (!getName()
        .equals(other.getName())) return false;
    if (hasVersion() != other.hasVersion()) return false;
    if (hasVersion()) {
      if (!getVersion()
          .equals(other.getVersion())) return false;
    }
    if (hasBasedir() != other.hasBasedir()) return false;
    if (hasBasedir()) {
      if (!getBasedir()
          .equals(other.getBasedir())) return false;
    }
    if (hasFilename() != other.hasFilename()) return false;
    if (hasFilename()) {
      if (!getFilename()
          .equals(other.getFilename())) return false;
    }
    if (hasDescription() != other.hasDescription()) return false;
    if (hasDescription()) {
      if (!getDescription()
          .equals(other.getDescription())) return false;
    }
    if (!getTargetsList()
        .equals(other.getTargetsList())) return false;
    if (!getTestsList()
        .equals(other.getTestsList())) return false;
    if (!getJobsList()
        .equals(other.getJobsList())) return false;
    if (!getMappingsList()
        .equals(other.getMappingsList())) return false;
    if (!getRelationsList()
        .equals(other.getRelationsList())) return false;
    if (!getConnectionsList()
        .equals(other.getConnectionsList())) return false;
    if (!internalGetEnvironment().equals(
        other.internalGetEnvironment())) return false;
    if (!internalGetConfig().equals(
        other.internalGetConfig())) return false;
    if (!getProfilesList()
        .equals(other.getProfilesList())) return false;
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    if (hasVersion()) {
      hash = (37 * hash) + VERSION_FIELD_NUMBER;
      hash = (53 * hash) + getVersion().hashCode();
    }
    if (hasBasedir()) {
      hash = (37 * hash) + BASEDIR_FIELD_NUMBER;
      hash = (53 * hash) + getBasedir().hashCode();
    }
    if (hasFilename()) {
      hash = (37 * hash) + FILENAME_FIELD_NUMBER;
      hash = (53 * hash) + getFilename().hashCode();
    }
    if (hasDescription()) {
      hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
      hash = (53 * hash) + getDescription().hashCode();
    }
    if (getTargetsCount() > 0) {
      hash = (37 * hash) + TARGETS_FIELD_NUMBER;
      hash = (53 * hash) + getTargetsList().hashCode();
    }
    if (getTestsCount() > 0) {
      hash = (37 * hash) + TESTS_FIELD_NUMBER;
      hash = (53 * hash) + getTestsList().hashCode();
    }
    if (getJobsCount() > 0) {
      hash = (37 * hash) + JOBS_FIELD_NUMBER;
      hash = (53 * hash) + getJobsList().hashCode();
    }
    if (getMappingsCount() > 0) {
      hash = (37 * hash) + MAPPINGS_FIELD_NUMBER;
      hash = (53 * hash) + getMappingsList().hashCode();
    }
    if (getRelationsCount() > 0) {
      hash = (37 * hash) + RELATIONS_FIELD_NUMBER;
      hash = (53 * hash) + getRelationsList().hashCode();
    }
    if (getConnectionsCount() > 0) {
      hash = (37 * hash) + CONNECTIONS_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionsList().hashCode();
    }
    if (!internalGetEnvironment().getMap().isEmpty()) {
      hash = (37 * hash) + ENVIRONMENT_FIELD_NUMBER;
      hash = (53 * hash) + internalGetEnvironment().hashCode();
    }
    if (!internalGetConfig().getMap().isEmpty()) {
      hash = (37 * hash) + CONFIG_FIELD_NUMBER;
      hash = (53 * hash) + internalGetConfig().hashCode();
    }
    if (getProfilesCount() > 0) {
      hash = (37 * hash) + PROFILES_FIELD_NUMBER;
      hash = (53 * hash) + getProfilesList().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(
      java.nio.ByteBuffer data)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(
      java.nio.ByteBuffer data,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(
      com.dimajix.shaded.protobuf.ByteString data)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(
      com.dimajix.shaded.protobuf.ByteString data,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(byte[] data)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(
      byte[] data,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(
      java.io.InputStream input,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseDelimitedFrom(
      java.io.InputStream input,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(
      com.dimajix.shaded.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.project.ProjectDetails parseFrom(
      com.dimajix.shaded.protobuf.CodedInputStream input,
      com.dimajix.shaded.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.project.ProjectDetails 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.dimajix.shaded.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code com.dimajix.flowman.kernel.project.ProjectDetails}
   */
  public static final class Builder extends
      com.dimajix.shaded.protobuf.GeneratedMessageV3.Builder implements
      // @@protoc_insertion_point(builder_implements:com.dimajix.flowman.kernel.project.ProjectDetails)
      com.dimajix.flowman.kernel.proto.project.ProjectDetailsOrBuilder {
    public static final com.dimajix.shaded.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dimajix.flowman.kernel.proto.project.ProjectProto.internal_static_com_dimajix_flowman_kernel_project_ProjectDetails_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    protected com.dimajix.shaded.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 14:
          return internalGetEnvironment();
        case 15:
          return internalGetConfig();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @SuppressWarnings({"rawtypes"})
    protected com.dimajix.shaded.protobuf.MapField internalGetMutableMapField(
        int number) {
      switch (number) {
        case 14:
          return internalGetMutableEnvironment();
        case 15:
          return internalGetMutableConfig();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.dimajix.shaded.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dimajix.flowman.kernel.proto.project.ProjectProto.internal_static_com_dimajix_flowman_kernel_project_ProjectDetails_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dimajix.flowman.kernel.proto.project.ProjectDetails.class, com.dimajix.flowman.kernel.proto.project.ProjectDetails.Builder.class);
    }

    // Construct using com.dimajix.flowman.kernel.proto.project.ProjectDetails.newBuilder()
    private Builder() {

    }

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

    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      name_ = "";
      version_ = "";
      basedir_ = "";
      filename_ = "";
      description_ = "";
      targets_ =
          com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      tests_ =
          com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      jobs_ =
          com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      mappings_ =
          com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      relations_ =
          com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      connections_ =
          com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      internalGetMutableEnvironment().clear();
      internalGetMutableConfig().clear();
      profiles_ =
          com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      return this;
    }

    @java.lang.Override
    public com.dimajix.shaded.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.dimajix.flowman.kernel.proto.project.ProjectProto.internal_static_com_dimajix_flowman_kernel_project_ProjectDetails_descriptor;
    }

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

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

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

    private void buildPartial0(com.dimajix.flowman.kernel.proto.project.ProjectDetails result) {
      int from_bitField0_ = bitField0_;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.name_ = name_;
      }
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.version_ = version_;
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.basedir_ = basedir_;
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.filename_ = filename_;
        to_bitField0_ |= 0x00000004;
      }
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.description_ = description_;
        to_bitField0_ |= 0x00000008;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        targets_.makeImmutable();
        result.targets_ = targets_;
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        tests_.makeImmutable();
        result.tests_ = tests_;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        jobs_.makeImmutable();
        result.jobs_ = jobs_;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        mappings_.makeImmutable();
        result.mappings_ = mappings_;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        relations_.makeImmutable();
        result.relations_ = relations_;
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        connections_.makeImmutable();
        result.connections_ = connections_;
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.environment_ = internalGetEnvironment();
        result.environment_.makeImmutable();
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.config_ = internalGetConfig();
        result.config_.makeImmutable();
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        profiles_.makeImmutable();
        result.profiles_ = profiles_;
      }
      result.bitField0_ |= to_bitField0_;
    }

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

    public Builder mergeFrom(com.dimajix.flowman.kernel.proto.project.ProjectDetails other) {
      if (other == com.dimajix.flowman.kernel.proto.project.ProjectDetails.getDefaultInstance()) return this;
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (other.hasVersion()) {
        version_ = other.version_;
        bitField0_ |= 0x00000002;
        onChanged();
      }
      if (other.hasBasedir()) {
        basedir_ = other.basedir_;
        bitField0_ |= 0x00000004;
        onChanged();
      }
      if (other.hasFilename()) {
        filename_ = other.filename_;
        bitField0_ |= 0x00000008;
        onChanged();
      }
      if (other.hasDescription()) {
        description_ = other.description_;
        bitField0_ |= 0x00000010;
        onChanged();
      }
      if (!other.targets_.isEmpty()) {
        if (targets_.isEmpty()) {
          targets_ = other.targets_;
          bitField0_ |= 0x00000020;
        } else {
          ensureTargetsIsMutable();
          targets_.addAll(other.targets_);
        }
        onChanged();
      }
      if (!other.tests_.isEmpty()) {
        if (tests_.isEmpty()) {
          tests_ = other.tests_;
          bitField0_ |= 0x00000040;
        } else {
          ensureTestsIsMutable();
          tests_.addAll(other.tests_);
        }
        onChanged();
      }
      if (!other.jobs_.isEmpty()) {
        if (jobs_.isEmpty()) {
          jobs_ = other.jobs_;
          bitField0_ |= 0x00000080;
        } else {
          ensureJobsIsMutable();
          jobs_.addAll(other.jobs_);
        }
        onChanged();
      }
      if (!other.mappings_.isEmpty()) {
        if (mappings_.isEmpty()) {
          mappings_ = other.mappings_;
          bitField0_ |= 0x00000100;
        } else {
          ensureMappingsIsMutable();
          mappings_.addAll(other.mappings_);
        }
        onChanged();
      }
      if (!other.relations_.isEmpty()) {
        if (relations_.isEmpty()) {
          relations_ = other.relations_;
          bitField0_ |= 0x00000200;
        } else {
          ensureRelationsIsMutable();
          relations_.addAll(other.relations_);
        }
        onChanged();
      }
      if (!other.connections_.isEmpty()) {
        if (connections_.isEmpty()) {
          connections_ = other.connections_;
          bitField0_ |= 0x00000400;
        } else {
          ensureConnectionsIsMutable();
          connections_.addAll(other.connections_);
        }
        onChanged();
      }
      internalGetMutableEnvironment().mergeFrom(
          other.internalGetEnvironment());
      bitField0_ |= 0x00000800;
      internalGetMutableConfig().mergeFrom(
          other.internalGetConfig());
      bitField0_ |= 0x00001000;
      if (!other.profiles_.isEmpty()) {
        if (profiles_.isEmpty()) {
          profiles_ = other.profiles_;
          bitField0_ |= 0x00002000;
        } else {
          ensureProfilesIsMutable();
          profiles_.addAll(other.profiles_);
        }
        onChanged();
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.dimajix.shaded.protobuf.CodedInputStream input,
        com.dimajix.shaded.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 18: {
              name_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000001;
              break;
            } // case 18
            case 26: {
              version_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000002;
              break;
            } // case 26
            case 34: {
              basedir_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000004;
              break;
            } // case 34
            case 42: {
              filename_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000008;
              break;
            } // case 42
            case 50: {
              description_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000010;
              break;
            } // case 50
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();
              ensureTargetsIsMutable();
              targets_.add(s);
              break;
            } // case 58
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();
              ensureTestsIsMutable();
              tests_.add(s);
              break;
            } // case 66
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();
              ensureJobsIsMutable();
              jobs_.add(s);
              break;
            } // case 74
            case 82: {
              java.lang.String s = input.readStringRequireUtf8();
              ensureMappingsIsMutable();
              mappings_.add(s);
              break;
            } // case 82
            case 90: {
              java.lang.String s = input.readStringRequireUtf8();
              ensureRelationsIsMutable();
              relations_.add(s);
              break;
            } // case 90
            case 98: {
              java.lang.String s = input.readStringRequireUtf8();
              ensureConnectionsIsMutable();
              connections_.add(s);
              break;
            } // case 98
            case 114: {
              com.dimajix.shaded.protobuf.MapEntry
              environment__ = input.readMessage(
                  EnvironmentDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              internalGetMutableEnvironment().getMutableMap().put(
                  environment__.getKey(), environment__.getValue());
              bitField0_ |= 0x00000800;
              break;
            } // case 114
            case 122: {
              com.dimajix.shaded.protobuf.MapEntry
              config__ = input.readMessage(
                  ConfigDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              internalGetMutableConfig().getMutableMap().put(
                  config__.getKey(), config__.getValue());
              bitField0_ |= 0x00001000;
              break;
            } // case 122
            case 130: {
              java.lang.String s = input.readStringRequireUtf8();
              ensureProfilesIsMutable();
              profiles_.add(s);
              break;
            } // case 130
            default: {
              if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                done = true; // was an endgroup tag
              }
              break;
            } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.dimajix.shaded.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
    private int bitField0_;

    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.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.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.dimajix.shaded.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.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_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     * string name = 2;
     * @return This builder for chaining.
     */
    public Builder clearName() {
      name_ = getDefaultInstance().getName();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }
    /**
     * string name = 2;
     * @param value The bytes for name to set.
     * @return This builder for chaining.
     */
    public Builder setNameBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      name_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }

    private java.lang.Object version_ = "";
    /**
     * optional string version = 3;
     * @return Whether the version field is set.
     */
    public boolean hasVersion() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string version = 3;
     * @return The version.
     */
    public java.lang.String getVersion() {
      java.lang.Object ref = version_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        version_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string version = 3;
     * @return The bytes for version.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getVersionBytes() {
      java.lang.Object ref = version_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        version_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string version = 3;
     * @param value The version to set.
     * @return This builder for chaining.
     */
    public Builder setVersion(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      version_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * optional string version = 3;
     * @return This builder for chaining.
     */
    public Builder clearVersion() {
      version_ = getDefaultInstance().getVersion();
      bitField0_ = (bitField0_ & ~0x00000002);
      onChanged();
      return this;
    }
    /**
     * optional string version = 3;
     * @param value The bytes for version to set.
     * @return This builder for chaining.
     */
    public Builder setVersionBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      version_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }

    private java.lang.Object basedir_ = "";
    /**
     * optional string basedir = 4;
     * @return Whether the basedir field is set.
     */
    public boolean hasBasedir() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string basedir = 4;
     * @return The basedir.
     */
    public java.lang.String getBasedir() {
      java.lang.Object ref = basedir_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        basedir_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string basedir = 4;
     * @return The bytes for basedir.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getBasedirBytes() {
      java.lang.Object ref = basedir_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        basedir_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string basedir = 4;
     * @param value The basedir to set.
     * @return This builder for chaining.
     */
    public Builder setBasedir(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      basedir_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     * optional string basedir = 4;
     * @return This builder for chaining.
     */
    public Builder clearBasedir() {
      basedir_ = getDefaultInstance().getBasedir();
      bitField0_ = (bitField0_ & ~0x00000004);
      onChanged();
      return this;
    }
    /**
     * optional string basedir = 4;
     * @param value The bytes for basedir to set.
     * @return This builder for chaining.
     */
    public Builder setBasedirBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      basedir_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }

    private java.lang.Object filename_ = "";
    /**
     * optional string filename = 5;
     * @return Whether the filename field is set.
     */
    public boolean hasFilename() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional string filename = 5;
     * @return The filename.
     */
    public java.lang.String getFilename() {
      java.lang.Object ref = filename_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        filename_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string filename = 5;
     * @return The bytes for filename.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getFilenameBytes() {
      java.lang.Object ref = filename_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        filename_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string filename = 5;
     * @param value The filename to set.
     * @return This builder for chaining.
     */
    public Builder setFilename(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      filename_ = value;
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     * optional string filename = 5;
     * @return This builder for chaining.
     */
    public Builder clearFilename() {
      filename_ = getDefaultInstance().getFilename();
      bitField0_ = (bitField0_ & ~0x00000008);
      onChanged();
      return this;
    }
    /**
     * optional string filename = 5;
     * @param value The bytes for filename to set.
     * @return This builder for chaining.
     */
    public Builder setFilenameBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      filename_ = value;
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }

    private java.lang.Object description_ = "";
    /**
     * optional string description = 6;
     * @return Whether the description field is set.
     */
    public boolean hasDescription() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional string description = 6;
     * @return The description.
     */
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        description_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string description = 6;
     * @return The bytes for description.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string description = 6;
     * @param value The description to set.
     * @return This builder for chaining.
     */
    public Builder setDescription(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      description_ = value;
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     * optional string description = 6;
     * @return This builder for chaining.
     */
    public Builder clearDescription() {
      description_ = getDefaultInstance().getDescription();
      bitField0_ = (bitField0_ & ~0x00000010);
      onChanged();
      return this;
    }
    /**
     * optional string description = 6;
     * @param value The bytes for description to set.
     * @return This builder for chaining.
     */
    public Builder setDescriptionBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      description_ = value;
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }

    private com.dimajix.shaded.protobuf.LazyStringArrayList targets_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    private void ensureTargetsIsMutable() {
      if (!targets_.isModifiable()) {
        targets_ = new com.google.protobuf.LazyStringArrayList(targets_);
      }
      bitField0_ |= 0x00000020;
    }
    /**
     * repeated string targets = 7;
     * @return A list containing the targets.
     */
    public com.dimajix.shaded.protobuf.ProtocolStringList
        getTargetsList() {
      targets_.makeImmutable();
      return targets_;
    }
    /**
     * repeated string targets = 7;
     * @return The count of targets.
     */
    public int getTargetsCount() {
      return targets_.size();
    }
    /**
     * repeated string targets = 7;
     * @param index The index of the element to return.
     * @return The targets at the given index.
     */
    public java.lang.String getTargets(int index) {
      return targets_.get(index);
    }
    /**
     * repeated string targets = 7;
     * @param index The index of the value to return.
     * @return The bytes of the targets at the given index.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getTargetsBytes(int index) {
      return targets_.getByteString(index);
    }
    /**
     * repeated string targets = 7;
     * @param index The index to set the value at.
     * @param value The targets to set.
     * @return This builder for chaining.
     */
    public Builder setTargets(
        int index, java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureTargetsIsMutable();
      targets_.set(index, value);
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     * repeated string targets = 7;
     * @param value The targets to add.
     * @return This builder for chaining.
     */
    public Builder addTargets(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureTargetsIsMutable();
      targets_.add(value);
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     * repeated string targets = 7;
     * @param values The targets to add.
     * @return This builder for chaining.
     */
    public Builder addAllTargets(
        java.lang.Iterable values) {
      ensureTargetsIsMutable();
      com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
          values, targets_);
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     * repeated string targets = 7;
     * @return This builder for chaining.
     */
    public Builder clearTargets() {
      targets_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      bitField0_ = (bitField0_ & ~0x00000020);;
      onChanged();
      return this;
    }
    /**
     * repeated string targets = 7;
     * @param value The bytes of the targets to add.
     * @return This builder for chaining.
     */
    public Builder addTargetsBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      ensureTargetsIsMutable();
      targets_.add(value);
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }

    private com.dimajix.shaded.protobuf.LazyStringArrayList tests_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    private void ensureTestsIsMutable() {
      if (!tests_.isModifiable()) {
        tests_ = new com.google.protobuf.LazyStringArrayList(tests_);
      }
      bitField0_ |= 0x00000040;
    }
    /**
     * repeated string tests = 8;
     * @return A list containing the tests.
     */
    public com.dimajix.shaded.protobuf.ProtocolStringList
        getTestsList() {
      tests_.makeImmutable();
      return tests_;
    }
    /**
     * repeated string tests = 8;
     * @return The count of tests.
     */
    public int getTestsCount() {
      return tests_.size();
    }
    /**
     * repeated string tests = 8;
     * @param index The index of the element to return.
     * @return The tests at the given index.
     */
    public java.lang.String getTests(int index) {
      return tests_.get(index);
    }
    /**
     * repeated string tests = 8;
     * @param index The index of the value to return.
     * @return The bytes of the tests at the given index.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getTestsBytes(int index) {
      return tests_.getByteString(index);
    }
    /**
     * repeated string tests = 8;
     * @param index The index to set the value at.
     * @param value The tests to set.
     * @return This builder for chaining.
     */
    public Builder setTests(
        int index, java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureTestsIsMutable();
      tests_.set(index, value);
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     * repeated string tests = 8;
     * @param value The tests to add.
     * @return This builder for chaining.
     */
    public Builder addTests(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureTestsIsMutable();
      tests_.add(value);
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     * repeated string tests = 8;
     * @param values The tests to add.
     * @return This builder for chaining.
     */
    public Builder addAllTests(
        java.lang.Iterable values) {
      ensureTestsIsMutable();
      com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
          values, tests_);
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     * repeated string tests = 8;
     * @return This builder for chaining.
     */
    public Builder clearTests() {
      tests_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      bitField0_ = (bitField0_ & ~0x00000040);;
      onChanged();
      return this;
    }
    /**
     * repeated string tests = 8;
     * @param value The bytes of the tests to add.
     * @return This builder for chaining.
     */
    public Builder addTestsBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      ensureTestsIsMutable();
      tests_.add(value);
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }

    private com.dimajix.shaded.protobuf.LazyStringArrayList jobs_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    private void ensureJobsIsMutable() {
      if (!jobs_.isModifiable()) {
        jobs_ = new com.google.protobuf.LazyStringArrayList(jobs_);
      }
      bitField0_ |= 0x00000080;
    }
    /**
     * repeated string jobs = 9;
     * @return A list containing the jobs.
     */
    public com.dimajix.shaded.protobuf.ProtocolStringList
        getJobsList() {
      jobs_.makeImmutable();
      return jobs_;
    }
    /**
     * repeated string jobs = 9;
     * @return The count of jobs.
     */
    public int getJobsCount() {
      return jobs_.size();
    }
    /**
     * repeated string jobs = 9;
     * @param index The index of the element to return.
     * @return The jobs at the given index.
     */
    public java.lang.String getJobs(int index) {
      return jobs_.get(index);
    }
    /**
     * repeated string jobs = 9;
     * @param index The index of the value to return.
     * @return The bytes of the jobs at the given index.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getJobsBytes(int index) {
      return jobs_.getByteString(index);
    }
    /**
     * repeated string jobs = 9;
     * @param index The index to set the value at.
     * @param value The jobs to set.
     * @return This builder for chaining.
     */
    public Builder setJobs(
        int index, java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureJobsIsMutable();
      jobs_.set(index, value);
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     * repeated string jobs = 9;
     * @param value The jobs to add.
     * @return This builder for chaining.
     */
    public Builder addJobs(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureJobsIsMutable();
      jobs_.add(value);
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     * repeated string jobs = 9;
     * @param values The jobs to add.
     * @return This builder for chaining.
     */
    public Builder addAllJobs(
        java.lang.Iterable values) {
      ensureJobsIsMutable();
      com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
          values, jobs_);
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     * repeated string jobs = 9;
     * @return This builder for chaining.
     */
    public Builder clearJobs() {
      jobs_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      bitField0_ = (bitField0_ & ~0x00000080);;
      onChanged();
      return this;
    }
    /**
     * repeated string jobs = 9;
     * @param value The bytes of the jobs to add.
     * @return This builder for chaining.
     */
    public Builder addJobsBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      ensureJobsIsMutable();
      jobs_.add(value);
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }

    private com.dimajix.shaded.protobuf.LazyStringArrayList mappings_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    private void ensureMappingsIsMutable() {
      if (!mappings_.isModifiable()) {
        mappings_ = new com.google.protobuf.LazyStringArrayList(mappings_);
      }
      bitField0_ |= 0x00000100;
    }
    /**
     * repeated string mappings = 10;
     * @return A list containing the mappings.
     */
    public com.dimajix.shaded.protobuf.ProtocolStringList
        getMappingsList() {
      mappings_.makeImmutable();
      return mappings_;
    }
    /**
     * repeated string mappings = 10;
     * @return The count of mappings.
     */
    public int getMappingsCount() {
      return mappings_.size();
    }
    /**
     * repeated string mappings = 10;
     * @param index The index of the element to return.
     * @return The mappings at the given index.
     */
    public java.lang.String getMappings(int index) {
      return mappings_.get(index);
    }
    /**
     * repeated string mappings = 10;
     * @param index The index of the value to return.
     * @return The bytes of the mappings at the given index.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getMappingsBytes(int index) {
      return mappings_.getByteString(index);
    }
    /**
     * repeated string mappings = 10;
     * @param index The index to set the value at.
     * @param value The mappings to set.
     * @return This builder for chaining.
     */
    public Builder setMappings(
        int index, java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureMappingsIsMutable();
      mappings_.set(index, value);
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * repeated string mappings = 10;
     * @param value The mappings to add.
     * @return This builder for chaining.
     */
    public Builder addMappings(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureMappingsIsMutable();
      mappings_.add(value);
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * repeated string mappings = 10;
     * @param values The mappings to add.
     * @return This builder for chaining.
     */
    public Builder addAllMappings(
        java.lang.Iterable values) {
      ensureMappingsIsMutable();
      com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
          values, mappings_);
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * repeated string mappings = 10;
     * @return This builder for chaining.
     */
    public Builder clearMappings() {
      mappings_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      bitField0_ = (bitField0_ & ~0x00000100);;
      onChanged();
      return this;
    }
    /**
     * repeated string mappings = 10;
     * @param value The bytes of the mappings to add.
     * @return This builder for chaining.
     */
    public Builder addMappingsBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      ensureMappingsIsMutable();
      mappings_.add(value);
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }

    private com.dimajix.shaded.protobuf.LazyStringArrayList relations_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    private void ensureRelationsIsMutable() {
      if (!relations_.isModifiable()) {
        relations_ = new com.google.protobuf.LazyStringArrayList(relations_);
      }
      bitField0_ |= 0x00000200;
    }
    /**
     * repeated string relations = 11;
     * @return A list containing the relations.
     */
    public com.dimajix.shaded.protobuf.ProtocolStringList
        getRelationsList() {
      relations_.makeImmutable();
      return relations_;
    }
    /**
     * repeated string relations = 11;
     * @return The count of relations.
     */
    public int getRelationsCount() {
      return relations_.size();
    }
    /**
     * repeated string relations = 11;
     * @param index The index of the element to return.
     * @return The relations at the given index.
     */
    public java.lang.String getRelations(int index) {
      return relations_.get(index);
    }
    /**
     * repeated string relations = 11;
     * @param index The index of the value to return.
     * @return The bytes of the relations at the given index.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getRelationsBytes(int index) {
      return relations_.getByteString(index);
    }
    /**
     * repeated string relations = 11;
     * @param index The index to set the value at.
     * @param value The relations to set.
     * @return This builder for chaining.
     */
    public Builder setRelations(
        int index, java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureRelationsIsMutable();
      relations_.set(index, value);
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     * repeated string relations = 11;
     * @param value The relations to add.
     * @return This builder for chaining.
     */
    public Builder addRelations(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureRelationsIsMutable();
      relations_.add(value);
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     * repeated string relations = 11;
     * @param values The relations to add.
     * @return This builder for chaining.
     */
    public Builder addAllRelations(
        java.lang.Iterable values) {
      ensureRelationsIsMutable();
      com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
          values, relations_);
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     * repeated string relations = 11;
     * @return This builder for chaining.
     */
    public Builder clearRelations() {
      relations_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      bitField0_ = (bitField0_ & ~0x00000200);;
      onChanged();
      return this;
    }
    /**
     * repeated string relations = 11;
     * @param value The bytes of the relations to add.
     * @return This builder for chaining.
     */
    public Builder addRelationsBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      ensureRelationsIsMutable();
      relations_.add(value);
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }

    private com.dimajix.shaded.protobuf.LazyStringArrayList connections_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    private void ensureConnectionsIsMutable() {
      if (!connections_.isModifiable()) {
        connections_ = new com.google.protobuf.LazyStringArrayList(connections_);
      }
      bitField0_ |= 0x00000400;
    }
    /**
     * repeated string connections = 12;
     * @return A list containing the connections.
     */
    public com.dimajix.shaded.protobuf.ProtocolStringList
        getConnectionsList() {
      connections_.makeImmutable();
      return connections_;
    }
    /**
     * repeated string connections = 12;
     * @return The count of connections.
     */
    public int getConnectionsCount() {
      return connections_.size();
    }
    /**
     * repeated string connections = 12;
     * @param index The index of the element to return.
     * @return The connections at the given index.
     */
    public java.lang.String getConnections(int index) {
      return connections_.get(index);
    }
    /**
     * repeated string connections = 12;
     * @param index The index of the value to return.
     * @return The bytes of the connections at the given index.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getConnectionsBytes(int index) {
      return connections_.getByteString(index);
    }
    /**
     * repeated string connections = 12;
     * @param index The index to set the value at.
     * @param value The connections to set.
     * @return This builder for chaining.
     */
    public Builder setConnections(
        int index, java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureConnectionsIsMutable();
      connections_.set(index, value);
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     * repeated string connections = 12;
     * @param value The connections to add.
     * @return This builder for chaining.
     */
    public Builder addConnections(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureConnectionsIsMutable();
      connections_.add(value);
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     * repeated string connections = 12;
     * @param values The connections to add.
     * @return This builder for chaining.
     */
    public Builder addAllConnections(
        java.lang.Iterable values) {
      ensureConnectionsIsMutable();
      com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
          values, connections_);
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     * repeated string connections = 12;
     * @return This builder for chaining.
     */
    public Builder clearConnections() {
      connections_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      bitField0_ = (bitField0_ & ~0x00000400);;
      onChanged();
      return this;
    }
    /**
     * repeated string connections = 12;
     * @param value The bytes of the connections to add.
     * @return This builder for chaining.
     */
    public Builder addConnectionsBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      ensureConnectionsIsMutable();
      connections_.add(value);
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }

    private com.dimajix.shaded.protobuf.MapField<
        java.lang.String, java.lang.String> environment_;
    private com.dimajix.shaded.protobuf.MapField
        internalGetEnvironment() {
      if (environment_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            EnvironmentDefaultEntryHolder.defaultEntry);
      }
      return environment_;
    }
    private com.dimajix.shaded.protobuf.MapField
        internalGetMutableEnvironment() {
      if (environment_ == null) {
        environment_ = com.dimajix.shaded.protobuf.MapField.newMapField(
            EnvironmentDefaultEntryHolder.defaultEntry);
      }
      if (!environment_.isMutable()) {
        environment_ = environment_.copy();
      }
      bitField0_ |= 0x00000800;
      onChanged();
      return environment_;
    }
    public int getEnvironmentCount() {
      return internalGetEnvironment().getMap().size();
    }
    /**
     * map<string, string> environment = 14;
     */
    @java.lang.Override
    public boolean containsEnvironment(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetEnvironment().getMap().containsKey(key);
    }
    /**
     * Use {@link #getEnvironmentMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getEnvironment() {
      return getEnvironmentMap();
    }
    /**
     * map<string, string> environment = 14;
     */
    @java.lang.Override
    public java.util.Map getEnvironmentMap() {
      return internalGetEnvironment().getMap();
    }
    /**
     * map<string, string> environment = 14;
     */
    @java.lang.Override
    public /* nullable */
java.lang.String getEnvironmentOrDefault(
        java.lang.String key,
        /* nullable */
java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetEnvironment().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> environment = 14;
     */
    @java.lang.Override
    public java.lang.String getEnvironmentOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetEnvironment().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }
    public Builder clearEnvironment() {
      bitField0_ = (bitField0_ & ~0x00000800);
      internalGetMutableEnvironment().getMutableMap()
          .clear();
      return this;
    }
    /**
     * map<string, string> environment = 14;
     */
    public Builder removeEnvironment(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      internalGetMutableEnvironment().getMutableMap()
          .remove(key);
      return this;
    }
    /**
     * Use alternate mutation accessors instead.
     */
    @java.lang.Deprecated
    public java.util.Map
        getMutableEnvironment() {
      bitField0_ |= 0x00000800;
      return internalGetMutableEnvironment().getMutableMap();
    }
    /**
     * map<string, string> environment = 14;
     */
    public Builder putEnvironment(
        java.lang.String key,
        java.lang.String value) {
      if (key == null) { throw new NullPointerException("map key"); }
      if (value == null) { throw new NullPointerException("map value"); }
      internalGetMutableEnvironment().getMutableMap()
          .put(key, value);
      bitField0_ |= 0x00000800;
      return this;
    }
    /**
     * map<string, string> environment = 14;
     */
    public Builder putAllEnvironment(
        java.util.Map values) {
      internalGetMutableEnvironment().getMutableMap()
          .putAll(values);
      bitField0_ |= 0x00000800;
      return this;
    }

    private com.dimajix.shaded.protobuf.MapField<
        java.lang.String, java.lang.String> config_;
    private com.dimajix.shaded.protobuf.MapField
        internalGetConfig() {
      if (config_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            ConfigDefaultEntryHolder.defaultEntry);
      }
      return config_;
    }
    private com.dimajix.shaded.protobuf.MapField
        internalGetMutableConfig() {
      if (config_ == null) {
        config_ = com.dimajix.shaded.protobuf.MapField.newMapField(
            ConfigDefaultEntryHolder.defaultEntry);
      }
      if (!config_.isMutable()) {
        config_ = config_.copy();
      }
      bitField0_ |= 0x00001000;
      onChanged();
      return config_;
    }
    public int getConfigCount() {
      return internalGetConfig().getMap().size();
    }
    /**
     * map<string, string> config = 15;
     */
    @java.lang.Override
    public boolean containsConfig(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetConfig().getMap().containsKey(key);
    }
    /**
     * Use {@link #getConfigMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map getConfig() {
      return getConfigMap();
    }
    /**
     * map<string, string> config = 15;
     */
    @java.lang.Override
    public java.util.Map getConfigMap() {
      return internalGetConfig().getMap();
    }
    /**
     * map<string, string> config = 15;
     */
    @java.lang.Override
    public /* nullable */
java.lang.String getConfigOrDefault(
        java.lang.String key,
        /* nullable */
java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetConfig().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * map<string, string> config = 15;
     */
    @java.lang.Override
    public java.lang.String getConfigOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map map =
          internalGetConfig().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }
    public Builder clearConfig() {
      bitField0_ = (bitField0_ & ~0x00001000);
      internalGetMutableConfig().getMutableMap()
          .clear();
      return this;
    }
    /**
     * map<string, string> config = 15;
     */
    public Builder removeConfig(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      internalGetMutableConfig().getMutableMap()
          .remove(key);
      return this;
    }
    /**
     * Use alternate mutation accessors instead.
     */
    @java.lang.Deprecated
    public java.util.Map
        getMutableConfig() {
      bitField0_ |= 0x00001000;
      return internalGetMutableConfig().getMutableMap();
    }
    /**
     * map<string, string> config = 15;
     */
    public Builder putConfig(
        java.lang.String key,
        java.lang.String value) {
      if (key == null) { throw new NullPointerException("map key"); }
      if (value == null) { throw new NullPointerException("map value"); }
      internalGetMutableConfig().getMutableMap()
          .put(key, value);
      bitField0_ |= 0x00001000;
      return this;
    }
    /**
     * map<string, string> config = 15;
     */
    public Builder putAllConfig(
        java.util.Map values) {
      internalGetMutableConfig().getMutableMap()
          .putAll(values);
      bitField0_ |= 0x00001000;
      return this;
    }

    private com.dimajix.shaded.protobuf.LazyStringArrayList profiles_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    private void ensureProfilesIsMutable() {
      if (!profiles_.isModifiable()) {
        profiles_ = new com.google.protobuf.LazyStringArrayList(profiles_);
      }
      bitField0_ |= 0x00002000;
    }
    /**
     * repeated string profiles = 16;
     * @return A list containing the profiles.
     */
    public com.dimajix.shaded.protobuf.ProtocolStringList
        getProfilesList() {
      profiles_.makeImmutable();
      return profiles_;
    }
    /**
     * repeated string profiles = 16;
     * @return The count of profiles.
     */
    public int getProfilesCount() {
      return profiles_.size();
    }
    /**
     * repeated string profiles = 16;
     * @param index The index of the element to return.
     * @return The profiles at the given index.
     */
    public java.lang.String getProfiles(int index) {
      return profiles_.get(index);
    }
    /**
     * repeated string profiles = 16;
     * @param index The index of the value to return.
     * @return The bytes of the profiles at the given index.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getProfilesBytes(int index) {
      return profiles_.getByteString(index);
    }
    /**
     * repeated string profiles = 16;
     * @param index The index to set the value at.
     * @param value The profiles to set.
     * @return This builder for chaining.
     */
    public Builder setProfiles(
        int index, java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureProfilesIsMutable();
      profiles_.set(index, value);
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * repeated string profiles = 16;
     * @param value The profiles to add.
     * @return This builder for chaining.
     */
    public Builder addProfiles(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureProfilesIsMutable();
      profiles_.add(value);
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * repeated string profiles = 16;
     * @param values The profiles to add.
     * @return This builder for chaining.
     */
    public Builder addAllProfiles(
        java.lang.Iterable values) {
      ensureProfilesIsMutable();
      com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
          values, profiles_);
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * repeated string profiles = 16;
     * @return This builder for chaining.
     */
    public Builder clearProfiles() {
      profiles_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      bitField0_ = (bitField0_ & ~0x00002000);;
      onChanged();
      return this;
    }
    /**
     * repeated string profiles = 16;
     * @param value The bytes of the profiles to add.
     * @return This builder for chaining.
     */
    public Builder addProfilesBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      ensureProfilesIsMutable();
      profiles_.add(value);
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.dimajix.shaded.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.dimajix.shaded.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:com.dimajix.flowman.kernel.project.ProjectDetails)
  }

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

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

  private static final com.dimajix.shaded.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public ProjectDetails parsePartialFrom(
        com.dimajix.shaded.protobuf.CodedInputStream input,
        com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
      Builder builder = newBuilder();
      try {
        builder.mergeFrom(input, extensionRegistry);
      } catch (com.dimajix.shaded.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(builder.buildPartial());
      } catch (com.dimajix.shaded.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.dimajix.shaded.protobuf.Parser parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.dimajix.shaded.protobuf.Parser getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.project.ProjectDetails getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy