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

com.dimajix.flowman.kernel.proto.StructField Maven / Gradle / Ivy

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

package com.dimajix.flowman.kernel.proto;

/**
 * Protobuf type {@code com.dimajix.flowman.kernel.StructField}
 */
public final class StructField extends
    com.dimajix.shaded.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:com.dimajix.flowman.kernel.StructField)
    StructFieldOrBuilder {
private static final long serialVersionUID = 0L;
  // Use StructField.newBuilder() to construct.
  private StructField(com.dimajix.shaded.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private StructField() {
    name_ = "";
    description_ = "";
    format_ = "";
    collation_ = "";
    charset_ = "";
    sqlType_ = "";
  }

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

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

  @java.lang.Override
  protected com.dimajix.shaded.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.dimajix.flowman.kernel.proto.DataFrameProto.internal_static_com_dimajix_flowman_kernel_StructField_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.dimajix.flowman.kernel.proto.StructField.class, com.dimajix.flowman.kernel.proto.StructField.Builder.class);
  }

  private int bitField0_;
  private int typeCase_ = 0;
  @SuppressWarnings("serial")
  private java.lang.Object type_;
  public enum TypeCase
      implements com.dimajix.shaded.protobuf.Internal.EnumLite,
          com.dimajix.shaded.protobuf.AbstractMessage.InternalOneOfEnum {
    STRUCT(10),
    MAP(11),
    ARRAY(12),
    SCALAR(13),
    TYPE_NOT_SET(0);
    private final int value;
    private TypeCase(int value) {
      this.value = value;
    }
    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static TypeCase valueOf(int value) {
      return forNumber(value);
    }

    public static TypeCase forNumber(int value) {
      switch (value) {
        case 10: return STRUCT;
        case 11: return MAP;
        case 12: return ARRAY;
        case 13: return SCALAR;
        case 0: return TYPE_NOT_SET;
        default: return null;
      }
    }
    public int getNumber() {
      return this.value;
    }
  };

  public TypeCase
  getTypeCase() {
    return TypeCase.forNumber(
        typeCase_);
  }

  public static final int NAME_FIELD_NUMBER = 1;
  @SuppressWarnings("serial")
  private volatile java.lang.Object name_ = "";
  /**
   * string name = 1;
   * @return The name.
   */
  @java.lang.Override
  public java.lang.String getName() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.dimajix.shaded.protobuf.ByteString bs = 
          (com.dimajix.shaded.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      name_ = s;
      return s;
    }
  }
  /**
   * string name = 1;
   * @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 NULLABLE_FIELD_NUMBER = 2;
  private boolean nullable_ = false;
  /**
   * bool nullable = 2;
   * @return The nullable.
   */
  @java.lang.Override
  public boolean getNullable() {
    return nullable_;
  }

  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_ & 0x00000001) != 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 FORMAT_FIELD_NUMBER = 4;
  @SuppressWarnings("serial")
  private volatile java.lang.Object format_ = "";
  /**
   * optional string format = 4;
   * @return Whether the format field is set.
   */
  @java.lang.Override
  public boolean hasFormat() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * optional string format = 4;
   * @return The format.
   */
  @java.lang.Override
  public java.lang.String getFormat() {
    java.lang.Object ref = format_;
    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();
      format_ = s;
      return s;
    }
  }
  /**
   * optional string format = 4;
   * @return The bytes for format.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getFormatBytes() {
    java.lang.Object ref = format_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      format_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int COLLATION_FIELD_NUMBER = 5;
  @SuppressWarnings("serial")
  private volatile java.lang.Object collation_ = "";
  /**
   * optional string collation = 5;
   * @return Whether the collation field is set.
   */
  @java.lang.Override
  public boolean hasCollation() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   * optional string collation = 5;
   * @return The collation.
   */
  @java.lang.Override
  public java.lang.String getCollation() {
    java.lang.Object ref = collation_;
    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();
      collation_ = s;
      return s;
    }
  }
  /**
   * optional string collation = 5;
   * @return The bytes for collation.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getCollationBytes() {
    java.lang.Object ref = collation_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      collation_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int CHARSET_FIELD_NUMBER = 6;
  @SuppressWarnings("serial")
  private volatile java.lang.Object charset_ = "";
  /**
   * optional string charset = 6;
   * @return Whether the charset field is set.
   */
  @java.lang.Override
  public boolean hasCharset() {
    return ((bitField0_ & 0x00000008) != 0);
  }
  /**
   * optional string charset = 6;
   * @return The charset.
   */
  @java.lang.Override
  public java.lang.String getCharset() {
    java.lang.Object ref = charset_;
    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();
      charset_ = s;
      return s;
    }
  }
  /**
   * optional string charset = 6;
   * @return The bytes for charset.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getCharsetBytes() {
    java.lang.Object ref = charset_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      charset_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int SQLTYPE_FIELD_NUMBER = 7;
  @SuppressWarnings("serial")
  private volatile java.lang.Object sqlType_ = "";
  /**
   * string sqlType = 7;
   * @return The sqlType.
   */
  @java.lang.Override
  public java.lang.String getSqlType() {
    java.lang.Object ref = sqlType_;
    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();
      sqlType_ = s;
      return s;
    }
  }
  /**
   * string sqlType = 7;
   * @return The bytes for sqlType.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getSqlTypeBytes() {
    java.lang.Object ref = sqlType_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      sqlType_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int STRUCT_FIELD_NUMBER = 10;
  /**
   * .com.dimajix.flowman.kernel.StructType struct = 10;
   * @return Whether the struct field is set.
   */
  @java.lang.Override
  public boolean hasStruct() {
    return typeCase_ == 10;
  }
  /**
   * .com.dimajix.flowman.kernel.StructType struct = 10;
   * @return The struct.
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.StructType getStruct() {
    if (typeCase_ == 10) {
       return (com.dimajix.flowman.kernel.proto.StructType) type_;
    }
    return com.dimajix.flowman.kernel.proto.StructType.getDefaultInstance();
  }
  /**
   * .com.dimajix.flowman.kernel.StructType struct = 10;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.StructTypeOrBuilder getStructOrBuilder() {
    if (typeCase_ == 10) {
       return (com.dimajix.flowman.kernel.proto.StructType) type_;
    }
    return com.dimajix.flowman.kernel.proto.StructType.getDefaultInstance();
  }

  public static final int MAP_FIELD_NUMBER = 11;
  /**
   * .com.dimajix.flowman.kernel.MapType map = 11;
   * @return Whether the map field is set.
   */
  @java.lang.Override
  public boolean hasMap() {
    return typeCase_ == 11;
  }
  /**
   * .com.dimajix.flowman.kernel.MapType map = 11;
   * @return The map.
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.MapType getMap() {
    if (typeCase_ == 11) {
       return (com.dimajix.flowman.kernel.proto.MapType) type_;
    }
    return com.dimajix.flowman.kernel.proto.MapType.getDefaultInstance();
  }
  /**
   * .com.dimajix.flowman.kernel.MapType map = 11;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.MapTypeOrBuilder getMapOrBuilder() {
    if (typeCase_ == 11) {
       return (com.dimajix.flowman.kernel.proto.MapType) type_;
    }
    return com.dimajix.flowman.kernel.proto.MapType.getDefaultInstance();
  }

  public static final int ARRAY_FIELD_NUMBER = 12;
  /**
   * .com.dimajix.flowman.kernel.ArrayType array = 12;
   * @return Whether the array field is set.
   */
  @java.lang.Override
  public boolean hasArray() {
    return typeCase_ == 12;
  }
  /**
   * .com.dimajix.flowman.kernel.ArrayType array = 12;
   * @return The array.
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ArrayType getArray() {
    if (typeCase_ == 12) {
       return (com.dimajix.flowman.kernel.proto.ArrayType) type_;
    }
    return com.dimajix.flowman.kernel.proto.ArrayType.getDefaultInstance();
  }
  /**
   * .com.dimajix.flowman.kernel.ArrayType array = 12;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ArrayTypeOrBuilder getArrayOrBuilder() {
    if (typeCase_ == 12) {
       return (com.dimajix.flowman.kernel.proto.ArrayType) type_;
    }
    return com.dimajix.flowman.kernel.proto.ArrayType.getDefaultInstance();
  }

  public static final int SCALAR_FIELD_NUMBER = 13;
  /**
   * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
   * @return Whether the scalar field is set.
   */
  @java.lang.Override
  public boolean hasScalar() {
    return typeCase_ == 13;
  }
  /**
   * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
   * @return The scalar.
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ScalarType getScalar() {
    if (typeCase_ == 13) {
       return (com.dimajix.flowman.kernel.proto.ScalarType) type_;
    }
    return com.dimajix.flowman.kernel.proto.ScalarType.getDefaultInstance();
  }
  /**
   * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ScalarTypeOrBuilder getScalarOrBuilder() {
    if (typeCase_ == 13) {
       return (com.dimajix.flowman.kernel.proto.ScalarType) type_;
    }
    return com.dimajix.flowman.kernel.proto.ScalarType.getDefaultInstance();
  }

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

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.dimajix.shaded.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
    }
    if (nullable_ != false) {
      output.writeBool(2, nullable_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 3, description_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 4, format_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 5, collation_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 6, charset_);
    }
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(sqlType_)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 7, sqlType_);
    }
    if (typeCase_ == 10) {
      output.writeMessage(10, (com.dimajix.flowman.kernel.proto.StructType) type_);
    }
    if (typeCase_ == 11) {
      output.writeMessage(11, (com.dimajix.flowman.kernel.proto.MapType) type_);
    }
    if (typeCase_ == 12) {
      output.writeMessage(12, (com.dimajix.flowman.kernel.proto.ArrayType) type_);
    }
    if (typeCase_ == 13) {
      output.writeMessage(13, (com.dimajix.flowman.kernel.proto.ScalarType) type_);
    }
    getUnknownFields().writeTo(output);
  }

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

    size = 0;
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
    }
    if (nullable_ != false) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeBoolSize(2, nullable_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(3, description_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(4, format_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(5, collation_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(6, charset_);
    }
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(sqlType_)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(7, sqlType_);
    }
    if (typeCase_ == 10) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(10, (com.dimajix.flowman.kernel.proto.StructType) type_);
    }
    if (typeCase_ == 11) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(11, (com.dimajix.flowman.kernel.proto.MapType) type_);
    }
    if (typeCase_ == 12) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(12, (com.dimajix.flowman.kernel.proto.ArrayType) type_);
    }
    if (typeCase_ == 13) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(13, (com.dimajix.flowman.kernel.proto.ScalarType) type_);
    }
    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.StructField)) {
      return super.equals(obj);
    }
    com.dimajix.flowman.kernel.proto.StructField other = (com.dimajix.flowman.kernel.proto.StructField) obj;

    if (!getName()
        .equals(other.getName())) return false;
    if (getNullable()
        != other.getNullable()) return false;
    if (hasDescription() != other.hasDescription()) return false;
    if (hasDescription()) {
      if (!getDescription()
          .equals(other.getDescription())) return false;
    }
    if (hasFormat() != other.hasFormat()) return false;
    if (hasFormat()) {
      if (!getFormat()
          .equals(other.getFormat())) return false;
    }
    if (hasCollation() != other.hasCollation()) return false;
    if (hasCollation()) {
      if (!getCollation()
          .equals(other.getCollation())) return false;
    }
    if (hasCharset() != other.hasCharset()) return false;
    if (hasCharset()) {
      if (!getCharset()
          .equals(other.getCharset())) return false;
    }
    if (!getSqlType()
        .equals(other.getSqlType())) return false;
    if (!getTypeCase().equals(other.getTypeCase())) return false;
    switch (typeCase_) {
      case 10:
        if (!getStruct()
            .equals(other.getStruct())) return false;
        break;
      case 11:
        if (!getMap()
            .equals(other.getMap())) return false;
        break;
      case 12:
        if (!getArray()
            .equals(other.getArray())) return false;
        break;
      case 13:
        if (!getScalar()
            .equals(other.getScalar())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    hash = (37 * hash) + NULLABLE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getNullable());
    if (hasDescription()) {
      hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
      hash = (53 * hash) + getDescription().hashCode();
    }
    if (hasFormat()) {
      hash = (37 * hash) + FORMAT_FIELD_NUMBER;
      hash = (53 * hash) + getFormat().hashCode();
    }
    if (hasCollation()) {
      hash = (37 * hash) + COLLATION_FIELD_NUMBER;
      hash = (53 * hash) + getCollation().hashCode();
    }
    if (hasCharset()) {
      hash = (37 * hash) + CHARSET_FIELD_NUMBER;
      hash = (53 * hash) + getCharset().hashCode();
    }
    hash = (37 * hash) + SQLTYPE_FIELD_NUMBER;
    hash = (53 * hash) + getSqlType().hashCode();
    switch (typeCase_) {
      case 10:
        hash = (37 * hash) + STRUCT_FIELD_NUMBER;
        hash = (53 * hash) + getStruct().hashCode();
        break;
      case 11:
        hash = (37 * hash) + MAP_FIELD_NUMBER;
        hash = (53 * hash) + getMap().hashCode();
        break;
      case 12:
        hash = (37 * hash) + ARRAY_FIELD_NUMBER;
        hash = (53 * hash) + getArray().hashCode();
        break;
      case 13:
        hash = (37 * hash) + SCALAR_FIELD_NUMBER;
        hash = (53 * hash) + getScalar().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

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

    @java.lang.Override
    protected com.dimajix.shaded.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dimajix.flowman.kernel.proto.DataFrameProto.internal_static_com_dimajix_flowman_kernel_StructField_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dimajix.flowman.kernel.proto.StructField.class, com.dimajix.flowman.kernel.proto.StructField.Builder.class);
    }

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

    }

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

    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      name_ = "";
      nullable_ = false;
      description_ = "";
      format_ = "";
      collation_ = "";
      charset_ = "";
      sqlType_ = "";
      if (structBuilder_ != null) {
        structBuilder_.clear();
      }
      if (mapBuilder_ != null) {
        mapBuilder_.clear();
      }
      if (arrayBuilder_ != null) {
        arrayBuilder_.clear();
      }
      if (scalarBuilder_ != null) {
        scalarBuilder_.clear();
      }
      typeCase_ = 0;
      type_ = null;
      return this;
    }

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

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

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

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

    private void buildPartial0(com.dimajix.flowman.kernel.proto.StructField result) {
      int from_bitField0_ = bitField0_;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.name_ = name_;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.nullable_ = nullable_;
      }
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.description_ = description_;
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.format_ = format_;
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.collation_ = collation_;
        to_bitField0_ |= 0x00000004;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        result.charset_ = charset_;
        to_bitField0_ |= 0x00000008;
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        result.sqlType_ = sqlType_;
      }
      result.bitField0_ |= to_bitField0_;
    }

    private void buildPartialOneofs(com.dimajix.flowman.kernel.proto.StructField result) {
      result.typeCase_ = typeCase_;
      result.type_ = this.type_;
      if (typeCase_ == 10 &&
          structBuilder_ != null) {
        result.type_ = structBuilder_.build();
      }
      if (typeCase_ == 11 &&
          mapBuilder_ != null) {
        result.type_ = mapBuilder_.build();
      }
      if (typeCase_ == 12 &&
          arrayBuilder_ != null) {
        result.type_ = arrayBuilder_.build();
      }
      if (typeCase_ == 13 &&
          scalarBuilder_ != null) {
        result.type_ = scalarBuilder_.build();
      }
    }

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

    public Builder mergeFrom(com.dimajix.flowman.kernel.proto.StructField other) {
      if (other == com.dimajix.flowman.kernel.proto.StructField.getDefaultInstance()) return this;
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (other.getNullable() != false) {
        setNullable(other.getNullable());
      }
      if (other.hasDescription()) {
        description_ = other.description_;
        bitField0_ |= 0x00000004;
        onChanged();
      }
      if (other.hasFormat()) {
        format_ = other.format_;
        bitField0_ |= 0x00000008;
        onChanged();
      }
      if (other.hasCollation()) {
        collation_ = other.collation_;
        bitField0_ |= 0x00000010;
        onChanged();
      }
      if (other.hasCharset()) {
        charset_ = other.charset_;
        bitField0_ |= 0x00000020;
        onChanged();
      }
      if (!other.getSqlType().isEmpty()) {
        sqlType_ = other.sqlType_;
        bitField0_ |= 0x00000040;
        onChanged();
      }
      switch (other.getTypeCase()) {
        case STRUCT: {
          mergeStruct(other.getStruct());
          break;
        }
        case MAP: {
          mergeMap(other.getMap());
          break;
        }
        case ARRAY: {
          mergeArray(other.getArray());
          break;
        }
        case SCALAR: {
          mergeScalar(other.getScalar());
          break;
        }
        case TYPE_NOT_SET: {
          break;
        }
      }
      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: {
              name_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000001;
              break;
            } // case 10
            case 16: {
              nullable_ = input.readBool();
              bitField0_ |= 0x00000002;
              break;
            } // case 16
            case 26: {
              description_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000004;
              break;
            } // case 26
            case 34: {
              format_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000008;
              break;
            } // case 34
            case 42: {
              collation_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000010;
              break;
            } // case 42
            case 50: {
              charset_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000020;
              break;
            } // case 50
            case 58: {
              sqlType_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000040;
              break;
            } // case 58
            case 82: {
              input.readMessage(
                  getStructFieldBuilder().getBuilder(),
                  extensionRegistry);
              typeCase_ = 10;
              break;
            } // case 82
            case 90: {
              input.readMessage(
                  getMapFieldBuilder().getBuilder(),
                  extensionRegistry);
              typeCase_ = 11;
              break;
            } // case 90
            case 98: {
              input.readMessage(
                  getArrayFieldBuilder().getBuilder(),
                  extensionRegistry);
              typeCase_ = 12;
              break;
            } // case 98
            case 106: {
              input.readMessage(
                  getScalarFieldBuilder().getBuilder(),
                  extensionRegistry);
              typeCase_ = 13;
              break;
            } // case 106
            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 typeCase_ = 0;
    private java.lang.Object type_;
    public TypeCase
        getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    public Builder clearType() {
      typeCase_ = 0;
      type_ = null;
      onChanged();
      return this;
    }

    private int bitField0_;

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

    private boolean nullable_ ;
    /**
     * bool nullable = 2;
     * @return The nullable.
     */
    @java.lang.Override
    public boolean getNullable() {
      return nullable_;
    }
    /**
     * bool nullable = 2;
     * @param value The nullable to set.
     * @return This builder for chaining.
     */
    public Builder setNullable(boolean value) {

      nullable_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * bool nullable = 2;
     * @return This builder for chaining.
     */
    public Builder clearNullable() {
      bitField0_ = (bitField0_ & ~0x00000002);
      nullable_ = false;
      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 java.lang.Object format_ = "";
    /**
     * optional string format = 4;
     * @return Whether the format field is set.
     */
    public boolean hasFormat() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional string format = 4;
     * @return The format.
     */
    public java.lang.String getFormat() {
      java.lang.Object ref = format_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        format_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string format = 4;
     * @return The bytes for format.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getFormatBytes() {
      java.lang.Object ref = format_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        format_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string format = 4;
     * @param value The format to set.
     * @return This builder for chaining.
     */
    public Builder setFormat(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      format_ = value;
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     * optional string format = 4;
     * @return This builder for chaining.
     */
    public Builder clearFormat() {
      format_ = getDefaultInstance().getFormat();
      bitField0_ = (bitField0_ & ~0x00000008);
      onChanged();
      return this;
    }
    /**
     * optional string format = 4;
     * @param value The bytes for format to set.
     * @return This builder for chaining.
     */
    public Builder setFormatBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      format_ = value;
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }

    private java.lang.Object collation_ = "";
    /**
     * optional string collation = 5;
     * @return Whether the collation field is set.
     */
    public boolean hasCollation() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional string collation = 5;
     * @return The collation.
     */
    public java.lang.String getCollation() {
      java.lang.Object ref = collation_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        collation_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string collation = 5;
     * @return The bytes for collation.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getCollationBytes() {
      java.lang.Object ref = collation_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        collation_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string collation = 5;
     * @param value The collation to set.
     * @return This builder for chaining.
     */
    public Builder setCollation(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      collation_ = value;
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     * optional string collation = 5;
     * @return This builder for chaining.
     */
    public Builder clearCollation() {
      collation_ = getDefaultInstance().getCollation();
      bitField0_ = (bitField0_ & ~0x00000010);
      onChanged();
      return this;
    }
    /**
     * optional string collation = 5;
     * @param value The bytes for collation to set.
     * @return This builder for chaining.
     */
    public Builder setCollationBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      collation_ = value;
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }

    private java.lang.Object charset_ = "";
    /**
     * optional string charset = 6;
     * @return Whether the charset field is set.
     */
    public boolean hasCharset() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional string charset = 6;
     * @return The charset.
     */
    public java.lang.String getCharset() {
      java.lang.Object ref = charset_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        charset_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string charset = 6;
     * @return The bytes for charset.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getCharsetBytes() {
      java.lang.Object ref = charset_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        charset_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string charset = 6;
     * @param value The charset to set.
     * @return This builder for chaining.
     */
    public Builder setCharset(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      charset_ = value;
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     * optional string charset = 6;
     * @return This builder for chaining.
     */
    public Builder clearCharset() {
      charset_ = getDefaultInstance().getCharset();
      bitField0_ = (bitField0_ & ~0x00000020);
      onChanged();
      return this;
    }
    /**
     * optional string charset = 6;
     * @param value The bytes for charset to set.
     * @return This builder for chaining.
     */
    public Builder setCharsetBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      charset_ = value;
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }

    private java.lang.Object sqlType_ = "";
    /**
     * string sqlType = 7;
     * @return The sqlType.
     */
    public java.lang.String getSqlType() {
      java.lang.Object ref = sqlType_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        sqlType_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string sqlType = 7;
     * @return The bytes for sqlType.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getSqlTypeBytes() {
      java.lang.Object ref = sqlType_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sqlType_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * string sqlType = 7;
     * @param value The sqlType to set.
     * @return This builder for chaining.
     */
    public Builder setSqlType(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      sqlType_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     * string sqlType = 7;
     * @return This builder for chaining.
     */
    public Builder clearSqlType() {
      sqlType_ = getDefaultInstance().getSqlType();
      bitField0_ = (bitField0_ & ~0x00000040);
      onChanged();
      return this;
    }
    /**
     * string sqlType = 7;
     * @param value The bytes for sqlType to set.
     * @return This builder for chaining.
     */
    public Builder setSqlTypeBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      sqlType_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }

    private com.dimajix.shaded.protobuf.SingleFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.StructType, com.dimajix.flowman.kernel.proto.StructType.Builder, com.dimajix.flowman.kernel.proto.StructTypeOrBuilder> structBuilder_;
    /**
     * .com.dimajix.flowman.kernel.StructType struct = 10;
     * @return Whether the struct field is set.
     */
    @java.lang.Override
    public boolean hasStruct() {
      return typeCase_ == 10;
    }
    /**
     * .com.dimajix.flowman.kernel.StructType struct = 10;
     * @return The struct.
     */
    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.StructType getStruct() {
      if (structBuilder_ == null) {
        if (typeCase_ == 10) {
          return (com.dimajix.flowman.kernel.proto.StructType) type_;
        }
        return com.dimajix.flowman.kernel.proto.StructType.getDefaultInstance();
      } else {
        if (typeCase_ == 10) {
          return structBuilder_.getMessage();
        }
        return com.dimajix.flowman.kernel.proto.StructType.getDefaultInstance();
      }
    }
    /**
     * .com.dimajix.flowman.kernel.StructType struct = 10;
     */
    public Builder setStruct(com.dimajix.flowman.kernel.proto.StructType value) {
      if (structBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        type_ = value;
        onChanged();
      } else {
        structBuilder_.setMessage(value);
      }
      typeCase_ = 10;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.StructType struct = 10;
     */
    public Builder setStruct(
        com.dimajix.flowman.kernel.proto.StructType.Builder builderForValue) {
      if (structBuilder_ == null) {
        type_ = builderForValue.build();
        onChanged();
      } else {
        structBuilder_.setMessage(builderForValue.build());
      }
      typeCase_ = 10;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.StructType struct = 10;
     */
    public Builder mergeStruct(com.dimajix.flowman.kernel.proto.StructType value) {
      if (structBuilder_ == null) {
        if (typeCase_ == 10 &&
            type_ != com.dimajix.flowman.kernel.proto.StructType.getDefaultInstance()) {
          type_ = com.dimajix.flowman.kernel.proto.StructType.newBuilder((com.dimajix.flowman.kernel.proto.StructType) type_)
              .mergeFrom(value).buildPartial();
        } else {
          type_ = value;
        }
        onChanged();
      } else {
        if (typeCase_ == 10) {
          structBuilder_.mergeFrom(value);
        } else {
          structBuilder_.setMessage(value);
        }
      }
      typeCase_ = 10;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.StructType struct = 10;
     */
    public Builder clearStruct() {
      if (structBuilder_ == null) {
        if (typeCase_ == 10) {
          typeCase_ = 0;
          type_ = null;
          onChanged();
        }
      } else {
        if (typeCase_ == 10) {
          typeCase_ = 0;
          type_ = null;
        }
        structBuilder_.clear();
      }
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.StructType struct = 10;
     */
    public com.dimajix.flowman.kernel.proto.StructType.Builder getStructBuilder() {
      return getStructFieldBuilder().getBuilder();
    }
    /**
     * .com.dimajix.flowman.kernel.StructType struct = 10;
     */
    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.StructTypeOrBuilder getStructOrBuilder() {
      if ((typeCase_ == 10) && (structBuilder_ != null)) {
        return structBuilder_.getMessageOrBuilder();
      } else {
        if (typeCase_ == 10) {
          return (com.dimajix.flowman.kernel.proto.StructType) type_;
        }
        return com.dimajix.flowman.kernel.proto.StructType.getDefaultInstance();
      }
    }
    /**
     * .com.dimajix.flowman.kernel.StructType struct = 10;
     */
    private com.dimajix.shaded.protobuf.SingleFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.StructType, com.dimajix.flowman.kernel.proto.StructType.Builder, com.dimajix.flowman.kernel.proto.StructTypeOrBuilder> 
        getStructFieldBuilder() {
      if (structBuilder_ == null) {
        if (!(typeCase_ == 10)) {
          type_ = com.dimajix.flowman.kernel.proto.StructType.getDefaultInstance();
        }
        structBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.StructType, com.dimajix.flowman.kernel.proto.StructType.Builder, com.dimajix.flowman.kernel.proto.StructTypeOrBuilder>(
                (com.dimajix.flowman.kernel.proto.StructType) type_,
                getParentForChildren(),
                isClean());
        type_ = null;
      }
      typeCase_ = 10;
      onChanged();
      return structBuilder_;
    }

    private com.dimajix.shaded.protobuf.SingleFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.MapType, com.dimajix.flowman.kernel.proto.MapType.Builder, com.dimajix.flowman.kernel.proto.MapTypeOrBuilder> mapBuilder_;
    /**
     * .com.dimajix.flowman.kernel.MapType map = 11;
     * @return Whether the map field is set.
     */
    @java.lang.Override
    public boolean hasMap() {
      return typeCase_ == 11;
    }
    /**
     * .com.dimajix.flowman.kernel.MapType map = 11;
     * @return The map.
     */
    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.MapType getMap() {
      if (mapBuilder_ == null) {
        if (typeCase_ == 11) {
          return (com.dimajix.flowman.kernel.proto.MapType) type_;
        }
        return com.dimajix.flowman.kernel.proto.MapType.getDefaultInstance();
      } else {
        if (typeCase_ == 11) {
          return mapBuilder_.getMessage();
        }
        return com.dimajix.flowman.kernel.proto.MapType.getDefaultInstance();
      }
    }
    /**
     * .com.dimajix.flowman.kernel.MapType map = 11;
     */
    public Builder setMap(com.dimajix.flowman.kernel.proto.MapType value) {
      if (mapBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        type_ = value;
        onChanged();
      } else {
        mapBuilder_.setMessage(value);
      }
      typeCase_ = 11;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.MapType map = 11;
     */
    public Builder setMap(
        com.dimajix.flowman.kernel.proto.MapType.Builder builderForValue) {
      if (mapBuilder_ == null) {
        type_ = builderForValue.build();
        onChanged();
      } else {
        mapBuilder_.setMessage(builderForValue.build());
      }
      typeCase_ = 11;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.MapType map = 11;
     */
    public Builder mergeMap(com.dimajix.flowman.kernel.proto.MapType value) {
      if (mapBuilder_ == null) {
        if (typeCase_ == 11 &&
            type_ != com.dimajix.flowman.kernel.proto.MapType.getDefaultInstance()) {
          type_ = com.dimajix.flowman.kernel.proto.MapType.newBuilder((com.dimajix.flowman.kernel.proto.MapType) type_)
              .mergeFrom(value).buildPartial();
        } else {
          type_ = value;
        }
        onChanged();
      } else {
        if (typeCase_ == 11) {
          mapBuilder_.mergeFrom(value);
        } else {
          mapBuilder_.setMessage(value);
        }
      }
      typeCase_ = 11;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.MapType map = 11;
     */
    public Builder clearMap() {
      if (mapBuilder_ == null) {
        if (typeCase_ == 11) {
          typeCase_ = 0;
          type_ = null;
          onChanged();
        }
      } else {
        if (typeCase_ == 11) {
          typeCase_ = 0;
          type_ = null;
        }
        mapBuilder_.clear();
      }
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.MapType map = 11;
     */
    public com.dimajix.flowman.kernel.proto.MapType.Builder getMapBuilder() {
      return getMapFieldBuilder().getBuilder();
    }
    /**
     * .com.dimajix.flowman.kernel.MapType map = 11;
     */
    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.MapTypeOrBuilder getMapOrBuilder() {
      if ((typeCase_ == 11) && (mapBuilder_ != null)) {
        return mapBuilder_.getMessageOrBuilder();
      } else {
        if (typeCase_ == 11) {
          return (com.dimajix.flowman.kernel.proto.MapType) type_;
        }
        return com.dimajix.flowman.kernel.proto.MapType.getDefaultInstance();
      }
    }
    /**
     * .com.dimajix.flowman.kernel.MapType map = 11;
     */
    private com.dimajix.shaded.protobuf.SingleFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.MapType, com.dimajix.flowman.kernel.proto.MapType.Builder, com.dimajix.flowman.kernel.proto.MapTypeOrBuilder> 
        getMapFieldBuilder() {
      if (mapBuilder_ == null) {
        if (!(typeCase_ == 11)) {
          type_ = com.dimajix.flowman.kernel.proto.MapType.getDefaultInstance();
        }
        mapBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.MapType, com.dimajix.flowman.kernel.proto.MapType.Builder, com.dimajix.flowman.kernel.proto.MapTypeOrBuilder>(
                (com.dimajix.flowman.kernel.proto.MapType) type_,
                getParentForChildren(),
                isClean());
        type_ = null;
      }
      typeCase_ = 11;
      onChanged();
      return mapBuilder_;
    }

    private com.dimajix.shaded.protobuf.SingleFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ArrayType, com.dimajix.flowman.kernel.proto.ArrayType.Builder, com.dimajix.flowman.kernel.proto.ArrayTypeOrBuilder> arrayBuilder_;
    /**
     * .com.dimajix.flowman.kernel.ArrayType array = 12;
     * @return Whether the array field is set.
     */
    @java.lang.Override
    public boolean hasArray() {
      return typeCase_ == 12;
    }
    /**
     * .com.dimajix.flowman.kernel.ArrayType array = 12;
     * @return The array.
     */
    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.ArrayType getArray() {
      if (arrayBuilder_ == null) {
        if (typeCase_ == 12) {
          return (com.dimajix.flowman.kernel.proto.ArrayType) type_;
        }
        return com.dimajix.flowman.kernel.proto.ArrayType.getDefaultInstance();
      } else {
        if (typeCase_ == 12) {
          return arrayBuilder_.getMessage();
        }
        return com.dimajix.flowman.kernel.proto.ArrayType.getDefaultInstance();
      }
    }
    /**
     * .com.dimajix.flowman.kernel.ArrayType array = 12;
     */
    public Builder setArray(com.dimajix.flowman.kernel.proto.ArrayType value) {
      if (arrayBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        type_ = value;
        onChanged();
      } else {
        arrayBuilder_.setMessage(value);
      }
      typeCase_ = 12;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.ArrayType array = 12;
     */
    public Builder setArray(
        com.dimajix.flowman.kernel.proto.ArrayType.Builder builderForValue) {
      if (arrayBuilder_ == null) {
        type_ = builderForValue.build();
        onChanged();
      } else {
        arrayBuilder_.setMessage(builderForValue.build());
      }
      typeCase_ = 12;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.ArrayType array = 12;
     */
    public Builder mergeArray(com.dimajix.flowman.kernel.proto.ArrayType value) {
      if (arrayBuilder_ == null) {
        if (typeCase_ == 12 &&
            type_ != com.dimajix.flowman.kernel.proto.ArrayType.getDefaultInstance()) {
          type_ = com.dimajix.flowman.kernel.proto.ArrayType.newBuilder((com.dimajix.flowman.kernel.proto.ArrayType) type_)
              .mergeFrom(value).buildPartial();
        } else {
          type_ = value;
        }
        onChanged();
      } else {
        if (typeCase_ == 12) {
          arrayBuilder_.mergeFrom(value);
        } else {
          arrayBuilder_.setMessage(value);
        }
      }
      typeCase_ = 12;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.ArrayType array = 12;
     */
    public Builder clearArray() {
      if (arrayBuilder_ == null) {
        if (typeCase_ == 12) {
          typeCase_ = 0;
          type_ = null;
          onChanged();
        }
      } else {
        if (typeCase_ == 12) {
          typeCase_ = 0;
          type_ = null;
        }
        arrayBuilder_.clear();
      }
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.ArrayType array = 12;
     */
    public com.dimajix.flowman.kernel.proto.ArrayType.Builder getArrayBuilder() {
      return getArrayFieldBuilder().getBuilder();
    }
    /**
     * .com.dimajix.flowman.kernel.ArrayType array = 12;
     */
    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.ArrayTypeOrBuilder getArrayOrBuilder() {
      if ((typeCase_ == 12) && (arrayBuilder_ != null)) {
        return arrayBuilder_.getMessageOrBuilder();
      } else {
        if (typeCase_ == 12) {
          return (com.dimajix.flowman.kernel.proto.ArrayType) type_;
        }
        return com.dimajix.flowman.kernel.proto.ArrayType.getDefaultInstance();
      }
    }
    /**
     * .com.dimajix.flowman.kernel.ArrayType array = 12;
     */
    private com.dimajix.shaded.protobuf.SingleFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ArrayType, com.dimajix.flowman.kernel.proto.ArrayType.Builder, com.dimajix.flowman.kernel.proto.ArrayTypeOrBuilder> 
        getArrayFieldBuilder() {
      if (arrayBuilder_ == null) {
        if (!(typeCase_ == 12)) {
          type_ = com.dimajix.flowman.kernel.proto.ArrayType.getDefaultInstance();
        }
        arrayBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ArrayType, com.dimajix.flowman.kernel.proto.ArrayType.Builder, com.dimajix.flowman.kernel.proto.ArrayTypeOrBuilder>(
                (com.dimajix.flowman.kernel.proto.ArrayType) type_,
                getParentForChildren(),
                isClean());
        type_ = null;
      }
      typeCase_ = 12;
      onChanged();
      return arrayBuilder_;
    }

    private com.dimajix.shaded.protobuf.SingleFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ScalarType, com.dimajix.flowman.kernel.proto.ScalarType.Builder, com.dimajix.flowman.kernel.proto.ScalarTypeOrBuilder> scalarBuilder_;
    /**
     * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
     * @return Whether the scalar field is set.
     */
    @java.lang.Override
    public boolean hasScalar() {
      return typeCase_ == 13;
    }
    /**
     * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
     * @return The scalar.
     */
    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.ScalarType getScalar() {
      if (scalarBuilder_ == null) {
        if (typeCase_ == 13) {
          return (com.dimajix.flowman.kernel.proto.ScalarType) type_;
        }
        return com.dimajix.flowman.kernel.proto.ScalarType.getDefaultInstance();
      } else {
        if (typeCase_ == 13) {
          return scalarBuilder_.getMessage();
        }
        return com.dimajix.flowman.kernel.proto.ScalarType.getDefaultInstance();
      }
    }
    /**
     * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
     */
    public Builder setScalar(com.dimajix.flowman.kernel.proto.ScalarType value) {
      if (scalarBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        type_ = value;
        onChanged();
      } else {
        scalarBuilder_.setMessage(value);
      }
      typeCase_ = 13;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
     */
    public Builder setScalar(
        com.dimajix.flowman.kernel.proto.ScalarType.Builder builderForValue) {
      if (scalarBuilder_ == null) {
        type_ = builderForValue.build();
        onChanged();
      } else {
        scalarBuilder_.setMessage(builderForValue.build());
      }
      typeCase_ = 13;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
     */
    public Builder mergeScalar(com.dimajix.flowman.kernel.proto.ScalarType value) {
      if (scalarBuilder_ == null) {
        if (typeCase_ == 13 &&
            type_ != com.dimajix.flowman.kernel.proto.ScalarType.getDefaultInstance()) {
          type_ = com.dimajix.flowman.kernel.proto.ScalarType.newBuilder((com.dimajix.flowman.kernel.proto.ScalarType) type_)
              .mergeFrom(value).buildPartial();
        } else {
          type_ = value;
        }
        onChanged();
      } else {
        if (typeCase_ == 13) {
          scalarBuilder_.mergeFrom(value);
        } else {
          scalarBuilder_.setMessage(value);
        }
      }
      typeCase_ = 13;
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
     */
    public Builder clearScalar() {
      if (scalarBuilder_ == null) {
        if (typeCase_ == 13) {
          typeCase_ = 0;
          type_ = null;
          onChanged();
        }
      } else {
        if (typeCase_ == 13) {
          typeCase_ = 0;
          type_ = null;
        }
        scalarBuilder_.clear();
      }
      return this;
    }
    /**
     * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
     */
    public com.dimajix.flowman.kernel.proto.ScalarType.Builder getScalarBuilder() {
      return getScalarFieldBuilder().getBuilder();
    }
    /**
     * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
     */
    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.ScalarTypeOrBuilder getScalarOrBuilder() {
      if ((typeCase_ == 13) && (scalarBuilder_ != null)) {
        return scalarBuilder_.getMessageOrBuilder();
      } else {
        if (typeCase_ == 13) {
          return (com.dimajix.flowman.kernel.proto.ScalarType) type_;
        }
        return com.dimajix.flowman.kernel.proto.ScalarType.getDefaultInstance();
      }
    }
    /**
     * .com.dimajix.flowman.kernel.ScalarType scalar = 13;
     */
    private com.dimajix.shaded.protobuf.SingleFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ScalarType, com.dimajix.flowman.kernel.proto.ScalarType.Builder, com.dimajix.flowman.kernel.proto.ScalarTypeOrBuilder> 
        getScalarFieldBuilder() {
      if (scalarBuilder_ == null) {
        if (!(typeCase_ == 13)) {
          type_ = com.dimajix.flowman.kernel.proto.ScalarType.getDefaultInstance();
        }
        scalarBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ScalarType, com.dimajix.flowman.kernel.proto.ScalarType.Builder, com.dimajix.flowman.kernel.proto.ScalarTypeOrBuilder>(
                (com.dimajix.flowman.kernel.proto.ScalarType) type_,
                getParentForChildren(),
                isClean());
        type_ = null;
      }
      typeCase_ = 13;
      onChanged();
      return scalarBuilder_;
    }
    @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.StructField)
  }

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

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

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

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy