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

com.dimajix.flowman.kernel.proto.test.TestDetails Maven / Gradle / Ivy

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

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

/**
 * Protobuf type {@code com.dimajix.flowman.kernel.test.TestDetails}
 */
public final class TestDetails extends
    com.dimajix.shaded.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:com.dimajix.flowman.kernel.test.TestDetails)
    TestDetailsOrBuilder {
private static final long serialVersionUID = 0L;
  // Use TestDetails.newBuilder() to construct.
  private TestDetails(com.dimajix.shaded.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private TestDetails() {
    project_ = "";
    name_ = "";
    description_ = "";
    overrideMappings_ = java.util.Collections.emptyList();
    overrideRelations_ = java.util.Collections.emptyList();
    fixtureTargets_ = java.util.Collections.emptyList();
    buildTargets_ = java.util.Collections.emptyList();
    assertions_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  }

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

  public static final com.dimajix.shaded.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.dimajix.flowman.kernel.proto.test.TestProto.internal_static_com_dimajix_flowman_kernel_test_TestDetails_descriptor;
  }

  @SuppressWarnings({"rawtypes"})
  @java.lang.Override
  protected com.dimajix.shaded.protobuf.MapField internalGetMapField(
      int number) {
    switch (number) {
      case 4:
        return internalGetEnvironment();
      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.test.TestProto.internal_static_com_dimajix_flowman_kernel_test_TestDetails_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.dimajix.flowman.kernel.proto.test.TestDetails.class, com.dimajix.flowman.kernel.proto.test.TestDetails.Builder.class);
  }

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

  public static final int NAME_FIELD_NUMBER = 2;
  @SuppressWarnings("serial")
  private volatile java.lang.Object name_ = "";
  /**
   * string name = 2;
   * @return The name.
   */
  @java.lang.Override
  public java.lang.String getName() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.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 DESCRIPTION_FIELD_NUMBER = 3;
  @SuppressWarnings("serial")
  private volatile java.lang.Object description_ = "";
  /**
   * optional string description = 3;
   * @return Whether the description field is set.
   */
  @java.lang.Override
  public boolean hasDescription() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * optional string description = 3;
   * @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 = 3;
   * @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 ENVIRONMENT_FIELD_NUMBER = 4;
  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.test.TestProto.internal_static_com_dimajix_flowman_kernel_test_TestDetails_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 = 4;
   */
  @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 = 4;
   */
  @java.lang.Override
  public java.util.Map getEnvironmentMap() {
    return internalGetEnvironment().getMap();
  }
  /**
   * map<string, string> environment = 4;
   */
  @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 = 4;
   */
  @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 OVERRIDEMAPPINGS_FIELD_NUMBER = 5;
  @SuppressWarnings("serial")
  private java.util.List overrideMappings_;
  /**
   * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
   */
  @java.lang.Override
  public java.util.List getOverrideMappingsList() {
    return overrideMappings_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
   */
  @java.lang.Override
  public java.util.List 
      getOverrideMappingsOrBuilderList() {
    return overrideMappings_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
   */
  @java.lang.Override
  public int getOverrideMappingsCount() {
    return overrideMappings_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.MappingIdentifier getOverrideMappings(int index) {
    return overrideMappings_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.MappingIdentifierOrBuilder getOverrideMappingsOrBuilder(
      int index) {
    return overrideMappings_.get(index);
  }

  public static final int OVERRIDERELATIONS_FIELD_NUMBER = 6;
  @SuppressWarnings("serial")
  private java.util.List overrideRelations_;
  /**
   * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
   */
  @java.lang.Override
  public java.util.List getOverrideRelationsList() {
    return overrideRelations_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
   */
  @java.lang.Override
  public java.util.List 
      getOverrideRelationsOrBuilderList() {
    return overrideRelations_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
   */
  @java.lang.Override
  public int getOverrideRelationsCount() {
    return overrideRelations_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.RelationIdentifier getOverrideRelations(int index) {
    return overrideRelations_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.RelationIdentifierOrBuilder getOverrideRelationsOrBuilder(
      int index) {
    return overrideRelations_.get(index);
  }

  public static final int FIXTURETARGETS_FIELD_NUMBER = 7;
  @SuppressWarnings("serial")
  private java.util.List fixtureTargets_;
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
   */
  @java.lang.Override
  public java.util.List getFixtureTargetsList() {
    return fixtureTargets_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
   */
  @java.lang.Override
  public java.util.List 
      getFixtureTargetsOrBuilderList() {
    return fixtureTargets_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
   */
  @java.lang.Override
  public int getFixtureTargetsCount() {
    return fixtureTargets_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.TargetIdentifier getFixtureTargets(int index) {
    return fixtureTargets_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder getFixtureTargetsOrBuilder(
      int index) {
    return fixtureTargets_.get(index);
  }

  public static final int BUILDTARGETS_FIELD_NUMBER = 8;
  @SuppressWarnings("serial")
  private java.util.List buildTargets_;
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
   */
  @java.lang.Override
  public java.util.List getBuildTargetsList() {
    return buildTargets_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
   */
  @java.lang.Override
  public java.util.List 
      getBuildTargetsOrBuilderList() {
    return buildTargets_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
   */
  @java.lang.Override
  public int getBuildTargetsCount() {
    return buildTargets_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.TargetIdentifier getBuildTargets(int index) {
    return buildTargets_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder getBuildTargetsOrBuilder(
      int index) {
    return buildTargets_.get(index);
  }

  public static final int ASSERTIONS_FIELD_NUMBER = 9;
  @SuppressWarnings("serial")
  private com.dimajix.shaded.protobuf.LazyStringArrayList assertions_ =
      com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
  /**
   * repeated string assertions = 9;
   * @return A list containing the assertions.
   */
  public com.dimajix.shaded.protobuf.ProtocolStringList
      getAssertionsList() {
    return assertions_;
  }
  /**
   * repeated string assertions = 9;
   * @return The count of assertions.
   */
  public int getAssertionsCount() {
    return assertions_.size();
  }
  /**
   * repeated string assertions = 9;
   * @param index The index of the element to return.
   * @return The assertions at the given index.
   */
  public java.lang.String getAssertions(int index) {
    return assertions_.get(index);
  }
  /**
   * repeated string assertions = 9;
   * @param index The index of the value to return.
   * @return The bytes of the assertions at the given index.
   */
  public com.dimajix.shaded.protobuf.ByteString
      getAssertionsBytes(int index) {
    return assertions_.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 (((bitField0_ & 0x00000001) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 1, project_);
    }
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 3, description_);
    }
    com.dimajix.shaded.protobuf.GeneratedMessageV3
      .serializeStringMapTo(
        output,
        internalGetEnvironment(),
        EnvironmentDefaultEntryHolder.defaultEntry,
        4);
    for (int i = 0; i < overrideMappings_.size(); i++) {
      output.writeMessage(5, overrideMappings_.get(i));
    }
    for (int i = 0; i < overrideRelations_.size(); i++) {
      output.writeMessage(6, overrideRelations_.get(i));
    }
    for (int i = 0; i < fixtureTargets_.size(); i++) {
      output.writeMessage(7, fixtureTargets_.get(i));
    }
    for (int i = 0; i < buildTargets_.size(); i++) {
      output.writeMessage(8, buildTargets_.get(i));
    }
    for (int i = 0; i < assertions_.size(); i++) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 9, assertions_.getRaw(i));
    }
    getUnknownFields().writeTo(output);
  }

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

    size = 0;
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(1, project_);
    }
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(3, description_);
    }
    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(4, environment__);
    }
    for (int i = 0; i < overrideMappings_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(5, overrideMappings_.get(i));
    }
    for (int i = 0; i < overrideRelations_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(6, overrideRelations_.get(i));
    }
    for (int i = 0; i < fixtureTargets_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(7, fixtureTargets_.get(i));
    }
    for (int i = 0; i < buildTargets_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(8, buildTargets_.get(i));
    }
    {
      int dataSize = 0;
      for (int i = 0; i < assertions_.size(); i++) {
        dataSize += computeStringSizeNoTag(assertions_.getRaw(i));
      }
      size += dataSize;
      size += 1 * getAssertionsList().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.test.TestDetails)) {
      return super.equals(obj);
    }
    com.dimajix.flowman.kernel.proto.test.TestDetails other = (com.dimajix.flowman.kernel.proto.test.TestDetails) obj;

    if (hasProject() != other.hasProject()) return false;
    if (hasProject()) {
      if (!getProject()
          .equals(other.getProject())) return false;
    }
    if (!getName()
        .equals(other.getName())) return false;
    if (hasDescription() != other.hasDescription()) return false;
    if (hasDescription()) {
      if (!getDescription()
          .equals(other.getDescription())) return false;
    }
    if (!internalGetEnvironment().equals(
        other.internalGetEnvironment())) return false;
    if (!getOverrideMappingsList()
        .equals(other.getOverrideMappingsList())) return false;
    if (!getOverrideRelationsList()
        .equals(other.getOverrideRelationsList())) return false;
    if (!getFixtureTargetsList()
        .equals(other.getFixtureTargetsList())) return false;
    if (!getBuildTargetsList()
        .equals(other.getBuildTargetsList())) return false;
    if (!getAssertionsList()
        .equals(other.getAssertionsList())) return false;
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasProject()) {
      hash = (37 * hash) + PROJECT_FIELD_NUMBER;
      hash = (53 * hash) + getProject().hashCode();
    }
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    if (hasDescription()) {
      hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
      hash = (53 * hash) + getDescription().hashCode();
    }
    if (!internalGetEnvironment().getMap().isEmpty()) {
      hash = (37 * hash) + ENVIRONMENT_FIELD_NUMBER;
      hash = (53 * hash) + internalGetEnvironment().hashCode();
    }
    if (getOverrideMappingsCount() > 0) {
      hash = (37 * hash) + OVERRIDEMAPPINGS_FIELD_NUMBER;
      hash = (53 * hash) + getOverrideMappingsList().hashCode();
    }
    if (getOverrideRelationsCount() > 0) {
      hash = (37 * hash) + OVERRIDERELATIONS_FIELD_NUMBER;
      hash = (53 * hash) + getOverrideRelationsList().hashCode();
    }
    if (getFixtureTargetsCount() > 0) {
      hash = (37 * hash) + FIXTURETARGETS_FIELD_NUMBER;
      hash = (53 * hash) + getFixtureTargetsList().hashCode();
    }
    if (getBuildTargetsCount() > 0) {
      hash = (37 * hash) + BUILDTARGETS_FIELD_NUMBER;
      hash = (53 * hash) + getBuildTargetsList().hashCode();
    }
    if (getAssertionsCount() > 0) {
      hash = (37 * hash) + ASSERTIONS_FIELD_NUMBER;
      hash = (53 * hash) + getAssertionsList().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.dimajix.flowman.kernel.proto.test.TestDetails parseFrom(
      java.nio.ByteBuffer data)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.test.TestDetails 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.test.TestDetails parseFrom(
      com.dimajix.shaded.protobuf.ByteString data)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.test.TestDetails 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.test.TestDetails parseFrom(byte[] data)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.test.TestDetails 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.test.TestDetails parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.test.TestDetails 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.test.TestDetails parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.test.TestDetails 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.test.TestDetails 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.test.TestDetails 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.test.TestDetails 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.test.TestDetails}
   */
  public static final class Builder extends
      com.dimajix.shaded.protobuf.GeneratedMessageV3.Builder implements
      // @@protoc_insertion_point(builder_implements:com.dimajix.flowman.kernel.test.TestDetails)
      com.dimajix.flowman.kernel.proto.test.TestDetailsOrBuilder {
    public static final com.dimajix.shaded.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dimajix.flowman.kernel.proto.test.TestProto.internal_static_com_dimajix_flowman_kernel_test_TestDetails_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    protected com.dimajix.shaded.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 4:
          return internalGetEnvironment();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @SuppressWarnings({"rawtypes"})
    protected com.dimajix.shaded.protobuf.MapField internalGetMutableMapField(
        int number) {
      switch (number) {
        case 4:
          return internalGetMutableEnvironment();
        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.test.TestProto.internal_static_com_dimajix_flowman_kernel_test_TestDetails_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dimajix.flowman.kernel.proto.test.TestDetails.class, com.dimajix.flowman.kernel.proto.test.TestDetails.Builder.class);
    }

    // Construct using com.dimajix.flowman.kernel.proto.test.TestDetails.newBuilder()
    private Builder() {

    }

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

    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      project_ = "";
      name_ = "";
      description_ = "";
      internalGetMutableEnvironment().clear();
      if (overrideMappingsBuilder_ == null) {
        overrideMappings_ = java.util.Collections.emptyList();
      } else {
        overrideMappings_ = null;
        overrideMappingsBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000010);
      if (overrideRelationsBuilder_ == null) {
        overrideRelations_ = java.util.Collections.emptyList();
      } else {
        overrideRelations_ = null;
        overrideRelationsBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000020);
      if (fixtureTargetsBuilder_ == null) {
        fixtureTargets_ = java.util.Collections.emptyList();
      } else {
        fixtureTargets_ = null;
        fixtureTargetsBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000040);
      if (buildTargetsBuilder_ == null) {
        buildTargets_ = java.util.Collections.emptyList();
      } else {
        buildTargets_ = null;
        buildTargetsBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000080);
      assertions_ =
          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.test.TestProto.internal_static_com_dimajix_flowman_kernel_test_TestDetails_descriptor;
    }

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

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

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

    private void buildPartialRepeatedFields(com.dimajix.flowman.kernel.proto.test.TestDetails result) {
      if (overrideMappingsBuilder_ == null) {
        if (((bitField0_ & 0x00000010) != 0)) {
          overrideMappings_ = java.util.Collections.unmodifiableList(overrideMappings_);
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.overrideMappings_ = overrideMappings_;
      } else {
        result.overrideMappings_ = overrideMappingsBuilder_.build();
      }
      if (overrideRelationsBuilder_ == null) {
        if (((bitField0_ & 0x00000020) != 0)) {
          overrideRelations_ = java.util.Collections.unmodifiableList(overrideRelations_);
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.overrideRelations_ = overrideRelations_;
      } else {
        result.overrideRelations_ = overrideRelationsBuilder_.build();
      }
      if (fixtureTargetsBuilder_ == null) {
        if (((bitField0_ & 0x00000040) != 0)) {
          fixtureTargets_ = java.util.Collections.unmodifiableList(fixtureTargets_);
          bitField0_ = (bitField0_ & ~0x00000040);
        }
        result.fixtureTargets_ = fixtureTargets_;
      } else {
        result.fixtureTargets_ = fixtureTargetsBuilder_.build();
      }
      if (buildTargetsBuilder_ == null) {
        if (((bitField0_ & 0x00000080) != 0)) {
          buildTargets_ = java.util.Collections.unmodifiableList(buildTargets_);
          bitField0_ = (bitField0_ & ~0x00000080);
        }
        result.buildTargets_ = buildTargets_;
      } else {
        result.buildTargets_ = buildTargetsBuilder_.build();
      }
    }

    private void buildPartial0(com.dimajix.flowman.kernel.proto.test.TestDetails result) {
      int from_bitField0_ = bitField0_;
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.project_ = project_;
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.name_ = name_;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.description_ = description_;
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.environment_ = internalGetEnvironment();
        result.environment_.makeImmutable();
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        assertions_.makeImmutable();
        result.assertions_ = assertions_;
      }
      result.bitField0_ |= to_bitField0_;
    }

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

    public Builder mergeFrom(com.dimajix.flowman.kernel.proto.test.TestDetails other) {
      if (other == com.dimajix.flowman.kernel.proto.test.TestDetails.getDefaultInstance()) return this;
      if (other.hasProject()) {
        project_ = other.project_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        bitField0_ |= 0x00000002;
        onChanged();
      }
      if (other.hasDescription()) {
        description_ = other.description_;
        bitField0_ |= 0x00000004;
        onChanged();
      }
      internalGetMutableEnvironment().mergeFrom(
          other.internalGetEnvironment());
      bitField0_ |= 0x00000008;
      if (overrideMappingsBuilder_ == null) {
        if (!other.overrideMappings_.isEmpty()) {
          if (overrideMappings_.isEmpty()) {
            overrideMappings_ = other.overrideMappings_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureOverrideMappingsIsMutable();
            overrideMappings_.addAll(other.overrideMappings_);
          }
          onChanged();
        }
      } else {
        if (!other.overrideMappings_.isEmpty()) {
          if (overrideMappingsBuilder_.isEmpty()) {
            overrideMappingsBuilder_.dispose();
            overrideMappingsBuilder_ = null;
            overrideMappings_ = other.overrideMappings_;
            bitField0_ = (bitField0_ & ~0x00000010);
            overrideMappingsBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getOverrideMappingsFieldBuilder() : null;
          } else {
            overrideMappingsBuilder_.addAllMessages(other.overrideMappings_);
          }
        }
      }
      if (overrideRelationsBuilder_ == null) {
        if (!other.overrideRelations_.isEmpty()) {
          if (overrideRelations_.isEmpty()) {
            overrideRelations_ = other.overrideRelations_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureOverrideRelationsIsMutable();
            overrideRelations_.addAll(other.overrideRelations_);
          }
          onChanged();
        }
      } else {
        if (!other.overrideRelations_.isEmpty()) {
          if (overrideRelationsBuilder_.isEmpty()) {
            overrideRelationsBuilder_.dispose();
            overrideRelationsBuilder_ = null;
            overrideRelations_ = other.overrideRelations_;
            bitField0_ = (bitField0_ & ~0x00000020);
            overrideRelationsBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getOverrideRelationsFieldBuilder() : null;
          } else {
            overrideRelationsBuilder_.addAllMessages(other.overrideRelations_);
          }
        }
      }
      if (fixtureTargetsBuilder_ == null) {
        if (!other.fixtureTargets_.isEmpty()) {
          if (fixtureTargets_.isEmpty()) {
            fixtureTargets_ = other.fixtureTargets_;
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            ensureFixtureTargetsIsMutable();
            fixtureTargets_.addAll(other.fixtureTargets_);
          }
          onChanged();
        }
      } else {
        if (!other.fixtureTargets_.isEmpty()) {
          if (fixtureTargetsBuilder_.isEmpty()) {
            fixtureTargetsBuilder_.dispose();
            fixtureTargetsBuilder_ = null;
            fixtureTargets_ = other.fixtureTargets_;
            bitField0_ = (bitField0_ & ~0x00000040);
            fixtureTargetsBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getFixtureTargetsFieldBuilder() : null;
          } else {
            fixtureTargetsBuilder_.addAllMessages(other.fixtureTargets_);
          }
        }
      }
      if (buildTargetsBuilder_ == null) {
        if (!other.buildTargets_.isEmpty()) {
          if (buildTargets_.isEmpty()) {
            buildTargets_ = other.buildTargets_;
            bitField0_ = (bitField0_ & ~0x00000080);
          } else {
            ensureBuildTargetsIsMutable();
            buildTargets_.addAll(other.buildTargets_);
          }
          onChanged();
        }
      } else {
        if (!other.buildTargets_.isEmpty()) {
          if (buildTargetsBuilder_.isEmpty()) {
            buildTargetsBuilder_.dispose();
            buildTargetsBuilder_ = null;
            buildTargets_ = other.buildTargets_;
            bitField0_ = (bitField0_ & ~0x00000080);
            buildTargetsBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getBuildTargetsFieldBuilder() : null;
          } else {
            buildTargetsBuilder_.addAllMessages(other.buildTargets_);
          }
        }
      }
      if (!other.assertions_.isEmpty()) {
        if (assertions_.isEmpty()) {
          assertions_ = other.assertions_;
          bitField0_ |= 0x00000100;
        } else {
          ensureAssertionsIsMutable();
          assertions_.addAll(other.assertions_);
        }
        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 10: {
              project_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000001;
              break;
            } // case 10
            case 18: {
              name_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000002;
              break;
            } // case 18
            case 26: {
              description_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000004;
              break;
            } // case 26
            case 34: {
              com.dimajix.shaded.protobuf.MapEntry
              environment__ = input.readMessage(
                  EnvironmentDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              internalGetMutableEnvironment().getMutableMap().put(
                  environment__.getKey(), environment__.getValue());
              bitField0_ |= 0x00000008;
              break;
            } // case 34
            case 42: {
              com.dimajix.flowman.kernel.proto.MappingIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.MappingIdentifier.parser(),
                      extensionRegistry);
              if (overrideMappingsBuilder_ == null) {
                ensureOverrideMappingsIsMutable();
                overrideMappings_.add(m);
              } else {
                overrideMappingsBuilder_.addMessage(m);
              }
              break;
            } // case 42
            case 50: {
              com.dimajix.flowman.kernel.proto.RelationIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.RelationIdentifier.parser(),
                      extensionRegistry);
              if (overrideRelationsBuilder_ == null) {
                ensureOverrideRelationsIsMutable();
                overrideRelations_.add(m);
              } else {
                overrideRelationsBuilder_.addMessage(m);
              }
              break;
            } // case 50
            case 58: {
              com.dimajix.flowman.kernel.proto.TargetIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.TargetIdentifier.parser(),
                      extensionRegistry);
              if (fixtureTargetsBuilder_ == null) {
                ensureFixtureTargetsIsMutable();
                fixtureTargets_.add(m);
              } else {
                fixtureTargetsBuilder_.addMessage(m);
              }
              break;
            } // case 58
            case 66: {
              com.dimajix.flowman.kernel.proto.TargetIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.TargetIdentifier.parser(),
                      extensionRegistry);
              if (buildTargetsBuilder_ == null) {
                ensureBuildTargetsIsMutable();
                buildTargets_.add(m);
              } else {
                buildTargetsBuilder_.addMessage(m);
              }
              break;
            } // case 66
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();
              ensureAssertionsIsMutable();
              assertions_.add(s);
              break;
            } // case 74
            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 project_ = "";
    /**
     * optional string project = 1;
     * @return Whether the project field is set.
     */
    public boolean hasProject() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string project = 1;
     * @return The project.
     */
    public java.lang.String getProject() {
      java.lang.Object ref = project_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        project_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string project = 1;
     * @return The bytes for project.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getProjectBytes() {
      java.lang.Object ref = project_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        project_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string project = 1;
     * @param value The project to set.
     * @return This builder for chaining.
     */
    public Builder setProject(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      project_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     * optional string project = 1;
     * @return This builder for chaining.
     */
    public Builder clearProject() {
      project_ = getDefaultInstance().getProject();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }
    /**
     * optional string project = 1;
     * @param value The bytes for project to set.
     * @return This builder for chaining.
     */
    public Builder setProjectBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      project_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }

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

    private java.lang.Object description_ = "";
    /**
     * optional string description = 3;
     * @return Whether the description field is set.
     */
    public boolean hasDescription() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string description = 3;
     * @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 = 3;
     * @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 = 3;
     * @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_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     * optional string description = 3;
     * @return This builder for chaining.
     */
    public Builder clearDescription() {
      description_ = getDefaultInstance().getDescription();
      bitField0_ = (bitField0_ & ~0x00000004);
      onChanged();
      return this;
    }
    /**
     * optional string description = 3;
     * @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_ |= 0x00000004;
      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_ |= 0x00000008;
      onChanged();
      return environment_;
    }
    public int getEnvironmentCount() {
      return internalGetEnvironment().getMap().size();
    }
    /**
     * map<string, string> environment = 4;
     */
    @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 = 4;
     */
    @java.lang.Override
    public java.util.Map getEnvironmentMap() {
      return internalGetEnvironment().getMap();
    }
    /**
     * map<string, string> environment = 4;
     */
    @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 = 4;
     */
    @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_ & ~0x00000008);
      internalGetMutableEnvironment().getMutableMap()
          .clear();
      return this;
    }
    /**
     * map<string, string> environment = 4;
     */
    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_ |= 0x00000008;
      return internalGetMutableEnvironment().getMutableMap();
    }
    /**
     * map<string, string> environment = 4;
     */
    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_ |= 0x00000008;
      return this;
    }
    /**
     * map<string, string> environment = 4;
     */
    public Builder putAllEnvironment(
        java.util.Map values) {
      internalGetMutableEnvironment().getMutableMap()
          .putAll(values);
      bitField0_ |= 0x00000008;
      return this;
    }

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

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.MappingIdentifier, com.dimajix.flowman.kernel.proto.MappingIdentifier.Builder, com.dimajix.flowman.kernel.proto.MappingIdentifierOrBuilder> overrideMappingsBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public java.util.List getOverrideMappingsList() {
      if (overrideMappingsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(overrideMappings_);
      } else {
        return overrideMappingsBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public int getOverrideMappingsCount() {
      if (overrideMappingsBuilder_ == null) {
        return overrideMappings_.size();
      } else {
        return overrideMappingsBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public com.dimajix.flowman.kernel.proto.MappingIdentifier getOverrideMappings(int index) {
      if (overrideMappingsBuilder_ == null) {
        return overrideMappings_.get(index);
      } else {
        return overrideMappingsBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public Builder setOverrideMappings(
        int index, com.dimajix.flowman.kernel.proto.MappingIdentifier value) {
      if (overrideMappingsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureOverrideMappingsIsMutable();
        overrideMappings_.set(index, value);
        onChanged();
      } else {
        overrideMappingsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public Builder setOverrideMappings(
        int index, com.dimajix.flowman.kernel.proto.MappingIdentifier.Builder builderForValue) {
      if (overrideMappingsBuilder_ == null) {
        ensureOverrideMappingsIsMutable();
        overrideMappings_.set(index, builderForValue.build());
        onChanged();
      } else {
        overrideMappingsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public Builder addOverrideMappings(com.dimajix.flowman.kernel.proto.MappingIdentifier value) {
      if (overrideMappingsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureOverrideMappingsIsMutable();
        overrideMappings_.add(value);
        onChanged();
      } else {
        overrideMappingsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public Builder addOverrideMappings(
        int index, com.dimajix.flowman.kernel.proto.MappingIdentifier value) {
      if (overrideMappingsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureOverrideMappingsIsMutable();
        overrideMappings_.add(index, value);
        onChanged();
      } else {
        overrideMappingsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public Builder addOverrideMappings(
        com.dimajix.flowman.kernel.proto.MappingIdentifier.Builder builderForValue) {
      if (overrideMappingsBuilder_ == null) {
        ensureOverrideMappingsIsMutable();
        overrideMappings_.add(builderForValue.build());
        onChanged();
      } else {
        overrideMappingsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public Builder addOverrideMappings(
        int index, com.dimajix.flowman.kernel.proto.MappingIdentifier.Builder builderForValue) {
      if (overrideMappingsBuilder_ == null) {
        ensureOverrideMappingsIsMutable();
        overrideMappings_.add(index, builderForValue.build());
        onChanged();
      } else {
        overrideMappingsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public Builder addAllOverrideMappings(
        java.lang.Iterable values) {
      if (overrideMappingsBuilder_ == null) {
        ensureOverrideMappingsIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, overrideMappings_);
        onChanged();
      } else {
        overrideMappingsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public Builder clearOverrideMappings() {
      if (overrideMappingsBuilder_ == null) {
        overrideMappings_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
      } else {
        overrideMappingsBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public Builder removeOverrideMappings(int index) {
      if (overrideMappingsBuilder_ == null) {
        ensureOverrideMappingsIsMutable();
        overrideMappings_.remove(index);
        onChanged();
      } else {
        overrideMappingsBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public com.dimajix.flowman.kernel.proto.MappingIdentifier.Builder getOverrideMappingsBuilder(
        int index) {
      return getOverrideMappingsFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public com.dimajix.flowman.kernel.proto.MappingIdentifierOrBuilder getOverrideMappingsOrBuilder(
        int index) {
      if (overrideMappingsBuilder_ == null) {
        return overrideMappings_.get(index);  } else {
        return overrideMappingsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public java.util.List 
         getOverrideMappingsOrBuilderList() {
      if (overrideMappingsBuilder_ != null) {
        return overrideMappingsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(overrideMappings_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public com.dimajix.flowman.kernel.proto.MappingIdentifier.Builder addOverrideMappingsBuilder() {
      return getOverrideMappingsFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.MappingIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public com.dimajix.flowman.kernel.proto.MappingIdentifier.Builder addOverrideMappingsBuilder(
        int index) {
      return getOverrideMappingsFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.MappingIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.MappingIdentifier overrideMappings = 5;
     */
    public java.util.List 
         getOverrideMappingsBuilderList() {
      return getOverrideMappingsFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.MappingIdentifier, com.dimajix.flowman.kernel.proto.MappingIdentifier.Builder, com.dimajix.flowman.kernel.proto.MappingIdentifierOrBuilder> 
        getOverrideMappingsFieldBuilder() {
      if (overrideMappingsBuilder_ == null) {
        overrideMappingsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.MappingIdentifier, com.dimajix.flowman.kernel.proto.MappingIdentifier.Builder, com.dimajix.flowman.kernel.proto.MappingIdentifierOrBuilder>(
                overrideMappings_,
                ((bitField0_ & 0x00000010) != 0),
                getParentForChildren(),
                isClean());
        overrideMappings_ = null;
      }
      return overrideMappingsBuilder_;
    }

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

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.RelationIdentifier, com.dimajix.flowman.kernel.proto.RelationIdentifier.Builder, com.dimajix.flowman.kernel.proto.RelationIdentifierOrBuilder> overrideRelationsBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public java.util.List getOverrideRelationsList() {
      if (overrideRelationsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(overrideRelations_);
      } else {
        return overrideRelationsBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public int getOverrideRelationsCount() {
      if (overrideRelationsBuilder_ == null) {
        return overrideRelations_.size();
      } else {
        return overrideRelationsBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public com.dimajix.flowman.kernel.proto.RelationIdentifier getOverrideRelations(int index) {
      if (overrideRelationsBuilder_ == null) {
        return overrideRelations_.get(index);
      } else {
        return overrideRelationsBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public Builder setOverrideRelations(
        int index, com.dimajix.flowman.kernel.proto.RelationIdentifier value) {
      if (overrideRelationsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureOverrideRelationsIsMutable();
        overrideRelations_.set(index, value);
        onChanged();
      } else {
        overrideRelationsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public Builder setOverrideRelations(
        int index, com.dimajix.flowman.kernel.proto.RelationIdentifier.Builder builderForValue) {
      if (overrideRelationsBuilder_ == null) {
        ensureOverrideRelationsIsMutable();
        overrideRelations_.set(index, builderForValue.build());
        onChanged();
      } else {
        overrideRelationsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public Builder addOverrideRelations(com.dimajix.flowman.kernel.proto.RelationIdentifier value) {
      if (overrideRelationsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureOverrideRelationsIsMutable();
        overrideRelations_.add(value);
        onChanged();
      } else {
        overrideRelationsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public Builder addOverrideRelations(
        int index, com.dimajix.flowman.kernel.proto.RelationIdentifier value) {
      if (overrideRelationsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureOverrideRelationsIsMutable();
        overrideRelations_.add(index, value);
        onChanged();
      } else {
        overrideRelationsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public Builder addOverrideRelations(
        com.dimajix.flowman.kernel.proto.RelationIdentifier.Builder builderForValue) {
      if (overrideRelationsBuilder_ == null) {
        ensureOverrideRelationsIsMutable();
        overrideRelations_.add(builderForValue.build());
        onChanged();
      } else {
        overrideRelationsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public Builder addOverrideRelations(
        int index, com.dimajix.flowman.kernel.proto.RelationIdentifier.Builder builderForValue) {
      if (overrideRelationsBuilder_ == null) {
        ensureOverrideRelationsIsMutable();
        overrideRelations_.add(index, builderForValue.build());
        onChanged();
      } else {
        overrideRelationsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public Builder addAllOverrideRelations(
        java.lang.Iterable values) {
      if (overrideRelationsBuilder_ == null) {
        ensureOverrideRelationsIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, overrideRelations_);
        onChanged();
      } else {
        overrideRelationsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public Builder clearOverrideRelations() {
      if (overrideRelationsBuilder_ == null) {
        overrideRelations_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
      } else {
        overrideRelationsBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public Builder removeOverrideRelations(int index) {
      if (overrideRelationsBuilder_ == null) {
        ensureOverrideRelationsIsMutable();
        overrideRelations_.remove(index);
        onChanged();
      } else {
        overrideRelationsBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public com.dimajix.flowman.kernel.proto.RelationIdentifier.Builder getOverrideRelationsBuilder(
        int index) {
      return getOverrideRelationsFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public com.dimajix.flowman.kernel.proto.RelationIdentifierOrBuilder getOverrideRelationsOrBuilder(
        int index) {
      if (overrideRelationsBuilder_ == null) {
        return overrideRelations_.get(index);  } else {
        return overrideRelationsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public java.util.List 
         getOverrideRelationsOrBuilderList() {
      if (overrideRelationsBuilder_ != null) {
        return overrideRelationsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(overrideRelations_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public com.dimajix.flowman.kernel.proto.RelationIdentifier.Builder addOverrideRelationsBuilder() {
      return getOverrideRelationsFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.RelationIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public com.dimajix.flowman.kernel.proto.RelationIdentifier.Builder addOverrideRelationsBuilder(
        int index) {
      return getOverrideRelationsFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.RelationIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.RelationIdentifier overrideRelations = 6;
     */
    public java.util.List 
         getOverrideRelationsBuilderList() {
      return getOverrideRelationsFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.RelationIdentifier, com.dimajix.flowman.kernel.proto.RelationIdentifier.Builder, com.dimajix.flowman.kernel.proto.RelationIdentifierOrBuilder> 
        getOverrideRelationsFieldBuilder() {
      if (overrideRelationsBuilder_ == null) {
        overrideRelationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.RelationIdentifier, com.dimajix.flowman.kernel.proto.RelationIdentifier.Builder, com.dimajix.flowman.kernel.proto.RelationIdentifierOrBuilder>(
                overrideRelations_,
                ((bitField0_ & 0x00000020) != 0),
                getParentForChildren(),
                isClean());
        overrideRelations_ = null;
      }
      return overrideRelationsBuilder_;
    }

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

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder> fixtureTargetsBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public java.util.List getFixtureTargetsList() {
      if (fixtureTargetsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(fixtureTargets_);
      } else {
        return fixtureTargetsBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public int getFixtureTargetsCount() {
      if (fixtureTargetsBuilder_ == null) {
        return fixtureTargets_.size();
      } else {
        return fixtureTargetsBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier getFixtureTargets(int index) {
      if (fixtureTargetsBuilder_ == null) {
        return fixtureTargets_.get(index);
      } else {
        return fixtureTargetsBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public Builder setFixtureTargets(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (fixtureTargetsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFixtureTargetsIsMutable();
        fixtureTargets_.set(index, value);
        onChanged();
      } else {
        fixtureTargetsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public Builder setFixtureTargets(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (fixtureTargetsBuilder_ == null) {
        ensureFixtureTargetsIsMutable();
        fixtureTargets_.set(index, builderForValue.build());
        onChanged();
      } else {
        fixtureTargetsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public Builder addFixtureTargets(com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (fixtureTargetsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFixtureTargetsIsMutable();
        fixtureTargets_.add(value);
        onChanged();
      } else {
        fixtureTargetsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public Builder addFixtureTargets(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (fixtureTargetsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFixtureTargetsIsMutable();
        fixtureTargets_.add(index, value);
        onChanged();
      } else {
        fixtureTargetsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public Builder addFixtureTargets(
        com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (fixtureTargetsBuilder_ == null) {
        ensureFixtureTargetsIsMutable();
        fixtureTargets_.add(builderForValue.build());
        onChanged();
      } else {
        fixtureTargetsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public Builder addFixtureTargets(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (fixtureTargetsBuilder_ == null) {
        ensureFixtureTargetsIsMutable();
        fixtureTargets_.add(index, builderForValue.build());
        onChanged();
      } else {
        fixtureTargetsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public Builder addAllFixtureTargets(
        java.lang.Iterable values) {
      if (fixtureTargetsBuilder_ == null) {
        ensureFixtureTargetsIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, fixtureTargets_);
        onChanged();
      } else {
        fixtureTargetsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public Builder clearFixtureTargets() {
      if (fixtureTargetsBuilder_ == null) {
        fixtureTargets_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
      } else {
        fixtureTargetsBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public Builder removeFixtureTargets(int index) {
      if (fixtureTargetsBuilder_ == null) {
        ensureFixtureTargetsIsMutable();
        fixtureTargets_.remove(index);
        onChanged();
      } else {
        fixtureTargetsBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder getFixtureTargetsBuilder(
        int index) {
      return getFixtureTargetsFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder getFixtureTargetsOrBuilder(
        int index) {
      if (fixtureTargetsBuilder_ == null) {
        return fixtureTargets_.get(index);  } else {
        return fixtureTargetsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public java.util.List 
         getFixtureTargetsOrBuilderList() {
      if (fixtureTargetsBuilder_ != null) {
        return fixtureTargetsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(fixtureTargets_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder addFixtureTargetsBuilder() {
      return getFixtureTargetsFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.TargetIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder addFixtureTargetsBuilder(
        int index) {
      return getFixtureTargetsFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.TargetIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier fixtureTargets = 7;
     */
    public java.util.List 
         getFixtureTargetsBuilderList() {
      return getFixtureTargetsFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder> 
        getFixtureTargetsFieldBuilder() {
      if (fixtureTargetsBuilder_ == null) {
        fixtureTargetsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder>(
                fixtureTargets_,
                ((bitField0_ & 0x00000040) != 0),
                getParentForChildren(),
                isClean());
        fixtureTargets_ = null;
      }
      return fixtureTargetsBuilder_;
    }

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

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder> buildTargetsBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public java.util.List getBuildTargetsList() {
      if (buildTargetsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(buildTargets_);
      } else {
        return buildTargetsBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public int getBuildTargetsCount() {
      if (buildTargetsBuilder_ == null) {
        return buildTargets_.size();
      } else {
        return buildTargetsBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier getBuildTargets(int index) {
      if (buildTargetsBuilder_ == null) {
        return buildTargets_.get(index);
      } else {
        return buildTargetsBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public Builder setBuildTargets(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (buildTargetsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureBuildTargetsIsMutable();
        buildTargets_.set(index, value);
        onChanged();
      } else {
        buildTargetsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public Builder setBuildTargets(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (buildTargetsBuilder_ == null) {
        ensureBuildTargetsIsMutable();
        buildTargets_.set(index, builderForValue.build());
        onChanged();
      } else {
        buildTargetsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public Builder addBuildTargets(com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (buildTargetsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureBuildTargetsIsMutable();
        buildTargets_.add(value);
        onChanged();
      } else {
        buildTargetsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public Builder addBuildTargets(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (buildTargetsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureBuildTargetsIsMutable();
        buildTargets_.add(index, value);
        onChanged();
      } else {
        buildTargetsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public Builder addBuildTargets(
        com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (buildTargetsBuilder_ == null) {
        ensureBuildTargetsIsMutable();
        buildTargets_.add(builderForValue.build());
        onChanged();
      } else {
        buildTargetsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public Builder addBuildTargets(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (buildTargetsBuilder_ == null) {
        ensureBuildTargetsIsMutable();
        buildTargets_.add(index, builderForValue.build());
        onChanged();
      } else {
        buildTargetsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public Builder addAllBuildTargets(
        java.lang.Iterable values) {
      if (buildTargetsBuilder_ == null) {
        ensureBuildTargetsIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, buildTargets_);
        onChanged();
      } else {
        buildTargetsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public Builder clearBuildTargets() {
      if (buildTargetsBuilder_ == null) {
        buildTargets_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
      } else {
        buildTargetsBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public Builder removeBuildTargets(int index) {
      if (buildTargetsBuilder_ == null) {
        ensureBuildTargetsIsMutable();
        buildTargets_.remove(index);
        onChanged();
      } else {
        buildTargetsBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder getBuildTargetsBuilder(
        int index) {
      return getBuildTargetsFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder getBuildTargetsOrBuilder(
        int index) {
      if (buildTargetsBuilder_ == null) {
        return buildTargets_.get(index);  } else {
        return buildTargetsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public java.util.List 
         getBuildTargetsOrBuilderList() {
      if (buildTargetsBuilder_ != null) {
        return buildTargetsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(buildTargets_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder addBuildTargetsBuilder() {
      return getBuildTargetsFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.TargetIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder addBuildTargetsBuilder(
        int index) {
      return getBuildTargetsFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.TargetIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier buildTargets = 8;
     */
    public java.util.List 
         getBuildTargetsBuilderList() {
      return getBuildTargetsFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder> 
        getBuildTargetsFieldBuilder() {
      if (buildTargetsBuilder_ == null) {
        buildTargetsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder>(
                buildTargets_,
                ((bitField0_ & 0x00000080) != 0),
                getParentForChildren(),
                isClean());
        buildTargets_ = null;
      }
      return buildTargetsBuilder_;
    }

    private com.dimajix.shaded.protobuf.LazyStringArrayList assertions_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
    private void ensureAssertionsIsMutable() {
      if (!assertions_.isModifiable()) {
        assertions_ = new com.google.protobuf.LazyStringArrayList(assertions_);
      }
      bitField0_ |= 0x00000100;
    }
    /**
     * repeated string assertions = 9;
     * @return A list containing the assertions.
     */
    public com.dimajix.shaded.protobuf.ProtocolStringList
        getAssertionsList() {
      assertions_.makeImmutable();
      return assertions_;
    }
    /**
     * repeated string assertions = 9;
     * @return The count of assertions.
     */
    public int getAssertionsCount() {
      return assertions_.size();
    }
    /**
     * repeated string assertions = 9;
     * @param index The index of the element to return.
     * @return The assertions at the given index.
     */
    public java.lang.String getAssertions(int index) {
      return assertions_.get(index);
    }
    /**
     * repeated string assertions = 9;
     * @param index The index of the value to return.
     * @return The bytes of the assertions at the given index.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getAssertionsBytes(int index) {
      return assertions_.getByteString(index);
    }
    /**
     * repeated string assertions = 9;
     * @param index The index to set the value at.
     * @param value The assertions to set.
     * @return This builder for chaining.
     */
    public Builder setAssertions(
        int index, java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureAssertionsIsMutable();
      assertions_.set(index, value);
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * repeated string assertions = 9;
     * @param value The assertions to add.
     * @return This builder for chaining.
     */
    public Builder addAssertions(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureAssertionsIsMutable();
      assertions_.add(value);
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * repeated string assertions = 9;
     * @param values The assertions to add.
     * @return This builder for chaining.
     */
    public Builder addAllAssertions(
        java.lang.Iterable values) {
      ensureAssertionsIsMutable();
      com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
          values, assertions_);
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * repeated string assertions = 9;
     * @return This builder for chaining.
     */
    public Builder clearAssertions() {
      assertions_ =
        com.dimajix.shaded.protobuf.LazyStringArrayList.emptyList();
      bitField0_ = (bitField0_ & ~0x00000100);;
      onChanged();
      return this;
    }
    /**
     * repeated string assertions = 9;
     * @param value The bytes of the assertions to add.
     * @return This builder for chaining.
     */
    public Builder addAssertionsBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      ensureAssertionsIsMutable();
      assertions_.add(value);
      bitField0_ |= 0x00000100;
      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.test.TestDetails)
  }

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

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

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

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy