text:
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/datacatalog/v1beta1/schema.proto

package com.google.cloud.datacatalog.v1beta1;

/**
 *
 *
 *

 * Representation of a column within a schema. Columns could be nested inside
 * other columns.
 *

 *
 * Protobuf type {@code google.cloud.datacatalog.v1beta1.ColumnSchema}
 */
public final class ColumnSchema extends com.google.protobuf.GeneratedMessageV3
    implements
    // @@protoc_insertion_point(message_implements:google.cloud.datacatalog.v1beta1.ColumnSchema)
    ColumnSchemaOrBuilder {
  private static final long serialVersionUID = 0L;
  // Use ColumnSchema.newBuilder() to construct.
  private ColumnSchema(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }

  private ColumnSchema() {
    column_ = "";
    type_ = "";
    description_ = "";
    mode_ = "";
    subcolumns_ = java.util.Collections.emptyList();
  }

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

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
    return this.unknownFields;
  }

  public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
    return com.google.cloud.datacatalog.v1beta1.SchemaOuterClass
        .internal_static_google_cloud_datacatalog_v1beta1_ColumnSchema_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.google.cloud.datacatalog.v1beta1.SchemaOuterClass
        .internal_static_google_cloud_datacatalog_v1beta1_ColumnSchema_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.google.cloud.datacatalog.v1beta1.ColumnSchema.class,
            com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder.class);
  }

  public static final int COLUMN_FIELD_NUMBER = 6;
  private volatile java.lang.Object column_;
  /**
   *
   *
   *

   * Required. Name of the column.
   *

   *
   * string column = 6 [(.google.api.field_behavior) = REQUIRED];
   *
   * @return The column.
   */
  @java.lang.Override
  public java.lang.String getColumn() {
    java.lang.Object ref = column_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      column_ = s;
      return s;
    }
  }
  /**
   *
   *
   *

   * Required. Name of the column.
   *

   *
   * string column = 6 [(.google.api.field_behavior) = REQUIRED];
   *
   * @return The bytes for column.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getColumnBytes() {
    java.lang.Object ref = column_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      column_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int TYPE_FIELD_NUMBER = 1;
  private volatile java.lang.Object type_;
  /**
   *
   *
   *

   * Required. Type of the column.
   *

   *
   * string type = 1 [(.google.api.field_behavior) = REQUIRED];
   *
   * @return The type.
   */
  @java.lang.Override
  public java.lang.String getType() {
    java.lang.Object ref = type_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      type_ = s;
      return s;
    }
  }
  /**
   *
   *
   *

   * Required. Type of the column.
   *

   *
   * string type = 1 [(.google.api.field_behavior) = REQUIRED];
   *
   * @return The bytes for type.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getTypeBytes() {
    java.lang.Object ref = type_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      type_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DESCRIPTION_FIELD_NUMBER = 2;
  private volatile java.lang.Object description_;
  /**
   *
   *
   *

   * Optional. Description of the column. Default value is an empty string.
   *

   *
   * string description = 2 [(.google.api.field_behavior) = OPTIONAL];
   *
   * @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.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      description_ = s;
      return s;
    }
  }
  /**
   *
   *
   *

   * Optional. Description of the column. Default value is an empty string.
   *

   *
   * string description = 2 [(.google.api.field_behavior) = OPTIONAL];
   *
   * @return The bytes for description.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getDescriptionBytes() {
    java.lang.Object ref = description_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      description_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int MODE_FIELD_NUMBER = 3;
  private volatile java.lang.Object mode_;
  /**
   *
   *
   *

   * Optional. A column's mode indicates whether the values in this column are required,
   * nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
   * Default mode is `NULLABLE`.
   *

   *
   * string mode = 3 [(.google.api.field_behavior) = OPTIONAL];
   *
   * @return The mode.
   */
  @java.lang.Override
  public java.lang.String getMode() {
    java.lang.Object ref = mode_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      mode_ = s;
      return s;
    }
  }
  /**
   *
   *
   *

   * Optional. A column's mode indicates whether the values in this column are required,
   * nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
   * Default mode is `NULLABLE`.
   *

   *
   * string mode = 3 [(.google.api.field_behavior) = OPTIONAL];
   *
   * @return The bytes for mode.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getModeBytes() {
    java.lang.Object ref = mode_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      mode_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int SUBCOLUMNS_FIELD_NUMBER = 7;
  private java.util.List<com.google.cloud.datacatalog.v1beta1.ColumnSchema> subcolumns_;
  /**
   *
   *
   *

   * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
   *

   *
   *
   * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
   *
   */
  @java.lang.Override
  public java.util.List<com.google.cloud.datacatalog.v1beta1.ColumnSchema> getSubcolumnsList() {
    return subcolumns_;
  }
  /**
   *
   *
   *

   * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
   *

   *
   *
   * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
   *
   */
  @java.lang.Override
  public java.util.List<? extends com.google.cloud.datacatalog.v1beta1.ColumnSchemaOrBuilder>
      getSubcolumnsOrBuilderList() {
    return subcolumns_;
  }
  /**
   *
   *
   *

   * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
   *

   *
   *
   * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
   *
   */
  @java.lang.Override
  public int getSubcolumnsCount() {
    return subcolumns_.size();
  }
  /**
   *
   *
   *

   * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
   *

   *
   *
   * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
   *
   */
  @java.lang.Override
  public com.google.cloud.datacatalog.v1beta1.ColumnSchema getSubcolumns(int index) {
    return subcolumns_.get(index);
  }
  /**
   *
   *
   *

   * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
   *

   *
   *
   * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
   *
   */
  @java.lang.Override
  public com.google.cloud.datacatalog.v1beta1.ColumnSchemaOrBuilder getSubcolumnsOrBuilder(
      int index) {
    return subcolumns_.get(index);
  }

  private byte memoizedIsInitialized = -1;

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

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(type_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, type_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, description_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(mode_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, mode_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(column_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 6, column_);
    }
    for (int i = 0; i < subcolumns_.size(); i++) {
      output.writeMessage(7, subcolumns_.get(i));
    }
    getUnknownFields().writeTo(output);
  }

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

    size = 0;
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(type_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, type_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, description_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(mode_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, mode_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(column_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, column_);
    }
    for (int i = 0; i < subcolumns_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, subcolumns_.get(i));
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.datacatalog.v1beta1.ColumnSchema)) {
      return super.equals(obj);
    }
    com.google.cloud.datacatalog.v1beta1.ColumnSchema other =
        (com.google.cloud.datacatalog.v1beta1.ColumnSchema) obj;

    if (!getColumn().equals(other.getColumn())) return false;
    if (!getType().equals(other.getType())) return false;
    if (!getDescription().equals(other.getDescription())) return false;
    if (!getMode().equals(other.getMode())) return false;
    if (!getSubcolumnsList().equals(other.getSubcolumnsList())) return false;
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + COLUMN_FIELD_NUMBER;
    hash = (53 * hash) + getColumn().hashCode();
    hash = (37 * hash) + TYPE_FIELD_NUMBER;
    hash = (53 * hash) + getType().hashCode();
    hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
    hash = (53 * hash) + getDescription().hashCode();
    hash = (37 * hash) + MODE_FIELD_NUMBER;
    hash = (53 * hash) + getMode().hashCode();
    if (getSubcolumnsCount() > 0) {
      hash = (37 * hash) + SUBCOLUMNS_FIELD_NUMBER;
      hash = (53 * hash) + getSubcolumnsList().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(
      java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(
      java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(
      byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseDelimitedFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseDelimitedFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(
      com.google.protobuf.CodedInputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() {
    return newBuilder();
  }

  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }

  public static Builder newBuilder(com.google.cloud.datacatalog.v1beta1.ColumnSchema prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }

  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   *
   *
   *

   * Representation of a column within a schema. Columns could be nested inside
   * other columns.
   *

   *
   * Protobuf type {@code google.cloud.datacatalog.v1beta1.ColumnSchema}
   */
  public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
      implements
      // @@protoc_insertion_point(builder_implements:google.cloud.datacatalog.v1beta1.ColumnSchema)
      com.google.cloud.datacatalog.v1beta1.ColumnSchemaOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
      return com.google.cloud.datacatalog.v1beta1.SchemaOuterClass
          .internal_static_google_cloud_datacatalog_v1beta1_ColumnSchema_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.cloud.datacatalog.v1beta1.SchemaOuterClass
          .internal_static_google_cloud_datacatalog_v1beta1_ColumnSchema_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.cloud.datacatalog.v1beta1.ColumnSchema.class,
              com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder.class);
    }

    // Construct using com.google.cloud.datacatalog.v1beta1.ColumnSchema.newBuilder()
    private Builder() {}

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

    @java.lang.Override
    public Builder clear() {
      super.clear();
      column_ = "";

      type_ = "";

      description_ = "";

      mode_ = "";

      if (subcolumnsBuilder_ == null) {
        subcolumns_ = java.util.Collections.emptyList();
      } else {
        subcolumns_ = null;
        subcolumnsBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000001);
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
      return com.google.cloud.datacatalog.v1beta1.SchemaOuterClass
          .internal_static_google_cloud_datacatalog_v1beta1_ColumnSchema_descriptor;
    }

    @java.lang.Override
    public com.google.cloud.datacatalog.v1beta1.ColumnSchema getDefaultInstanceForType() {
      return com.google.cloud.datacatalog.v1beta1.ColumnSchema.getDefaultInstance();
    }

    @java.lang.Override
    public com.google.cloud.datacatalog.v1beta1.ColumnSchema build() {
      com.google.cloud.datacatalog.v1beta1.ColumnSchema result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.google.cloud.datacatalog.v1beta1.ColumnSchema buildPartial() {
      com.google.cloud.datacatalog.v1beta1.ColumnSchema result =
          new com.google.cloud.datacatalog.v1beta1.ColumnSchema(this);
      int from_bitField0_ = bitField0_;
      result.column_ = column_;
      result.type_ = type_;
      result.description_ = description_;
      result.mode_ = mode_;
      if (subcolumnsBuilder_ == null) {
        if (((bitField0_ & 0x00000001) != 0)) {
          subcolumns_ = java.util.Collections.unmodifiableList(subcolumns_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.subcolumns_ = subcolumns_;
      } else {
        result.subcolumns_ = subcolumnsBuilder_.build();
      }
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }

    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.setField(field, value);
    }

    @java.lang.Override
    public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }

    @java.lang.Override
    public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }

    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }

    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }

    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.google.cloud.datacatalog.v1beta1.ColumnSchema) {
        return mergeFrom((com.google.cloud.datacatalog.v1beta1.ColumnSchema) other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.google.cloud.datacatalog.v1beta1.ColumnSchema other) {
      if (other == com.google.cloud.datacatalog.v1beta1.ColumnSchema.getDefaultInstance())
        return this;
      if (!other.getColumn().isEmpty()) {
        column_ = other.column_;
        onChanged();
      }
      if (!other.getType().isEmpty()) {
        type_ = other.type_;
        onChanged();
      }
      if (!other.getDescription().isEmpty()) {
        description_ = other.description_;
        onChanged();
      }
      if (!other.getMode().isEmpty()) {
        mode_ = other.mode_;
        onChanged();
      }
      if (subcolumnsBuilder_ == null) {
        if (!other.subcolumns_.isEmpty()) {
          if (subcolumns_.isEmpty()) {
            subcolumns_ = other.subcolumns_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureSubcolumnsIsMutable();
            subcolumns_.addAll(other.subcolumns_);
          }
          onChanged();
        }
      } else {
        if (!other.subcolumns_.isEmpty()) {
          if (subcolumnsBuilder_.isEmpty()) {
            subcolumnsBuilder_.dispose();
            subcolumnsBuilder_ = null;
            subcolumns_ = other.subcolumns_;
            bitField0_ = (bitField0_ & ~0x00000001);
            subcolumnsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getSubcolumnsFieldBuilder()
                    : null;
          } else {
            subcolumnsBuilder_.addAllMessages(other.subcolumns_);
          }
        }
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

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

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10:
              {
                type_ = input.readStringRequireUtf8();

                break;
              } // case 10
            case 18:
              {
                description_ = input.readStringRequireUtf8();

                break;
              } // case 18
            case 26:
              {
                mode_ = input.readStringRequireUtf8();

                break;
              } // case 26
            case 50:
              {
                column_ = input.readStringRequireUtf8();

                break;
              } // case 50
            case 58:
              {
                com.google.cloud.datacatalog.v1beta1.ColumnSchema m =
                    input.readMessage(
                        com.google.cloud.datacatalog.v1beta1.ColumnSchema.parser(),
                        extensionRegistry);
                if (subcolumnsBuilder_ == null) {
                  ensureSubcolumnsIsMutable();
                  subcolumns_.add(m);
                } else {
                  subcolumnsBuilder_.addMessage(m);
                }
                break;
              } // case 58
            default:
              {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }

    private int bitField0_;

    private java.lang.Object column_ = "";
    /**
     *
     *
     *

     * Required. Name of the column.
     *

     *
     * string column = 6 [(.google.api.field_behavior) = REQUIRED];
     *
     * @return The column.
     */
    public java.lang.String getColumn() {
      java.lang.Object ref = column_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        column_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     *

     * Required. Name of the column.
     *

     *
     * string column = 6 [(.google.api.field_behavior) = REQUIRED];
     *
     * @return The bytes for column.
     */
    public com.google.protobuf.ByteString getColumnBytes() {
      java.lang.Object ref = column_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        column_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     *

     * Required. Name of the column.
     *

     *
     * string column = 6 [(.google.api.field_behavior) = REQUIRED];
     *
     * @param value The column to set.
     * @return This builder for chaining.
     */
    public Builder setColumn(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }

      column_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Required. Name of the column.
     *

     *
     * string column = 6 [(.google.api.field_behavior) = REQUIRED];
     *
     * @return This builder for chaining.
     */
    public Builder clearColumn() {

      column_ = getDefaultInstance().getColumn();
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Required. Name of the column.
     *

     *
     * string column = 6 [(.google.api.field_behavior) = REQUIRED];
     *
     * @param value The bytes for column to set.
     * @return This builder for chaining.
     */
    public Builder setColumnBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);

      column_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object type_ = "";
    /**
     *
     *
     *

     * Required. Type of the column.
     *

     *
     * string type = 1 [(.google.api.field_behavior) = REQUIRED];
     *
     * @return The type.
     */
    public java.lang.String getType() {
      java.lang.Object ref = type_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        type_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     *

     * Required. Type of the column.
     *

     *
     * string type = 1 [(.google.api.field_behavior) = REQUIRED];
     *
     * @return The bytes for type.
     */
    public com.google.protobuf.ByteString getTypeBytes() {
      java.lang.Object ref = type_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        type_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     *

     * Required. Type of the column.
     *

     *
     * string type = 1 [(.google.api.field_behavior) = REQUIRED];
     *
     * @param value The type to set.
     * @return This builder for chaining.
     */
    public Builder setType(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }

      type_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Required. Type of the column.
     *

     *
     * string type = 1 [(.google.api.field_behavior) = REQUIRED];
     *
     * @return This builder for chaining.
     */
    public Builder clearType() {

      type_ = getDefaultInstance().getType();
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Required. Type of the column.
     *

     *
     * string type = 1 [(.google.api.field_behavior) = REQUIRED];
     *
     * @param value The bytes for type to set.
     * @return This builder for chaining.
     */
    public Builder setTypeBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);

      type_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object description_ = "";
    /**
     *
     *
     *

     * Optional. Description of the column. Default value is an empty string.
     *

     *
     * string description = 2 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @return The description.
     */
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        description_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     *

     * Optional. Description of the column. Default value is an empty string.
     *

     *
     * string description = 2 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @return The bytes for description.
     */
    public com.google.protobuf.ByteString getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     *

     * Optional. Description of the column. Default value is an empty string.
     *

     *
     * string description = 2 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @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;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Optional. Description of the column. Default value is an empty string.
     *

     *
     * string description = 2 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @return This builder for chaining.
     */
    public Builder clearDescription() {

      description_ = getDefaultInstance().getDescription();
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Optional. Description of the column. Default value is an empty string.
     *

     *
     * string description = 2 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @param value The bytes for description to set.
     * @return This builder for chaining.
     */
    public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);

      description_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object mode_ = "";
    /**
     *
     *
     *

     * Optional. A column's mode indicates whether the values in this column are required,
     * nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
     * Default mode is `NULLABLE`.
     *

     *
     * string mode = 3 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @return The mode.
     */
    public java.lang.String getMode() {
      java.lang.Object ref = mode_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        mode_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     *

     * Optional. A column's mode indicates whether the values in this column are required,
     * nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
     * Default mode is `NULLABLE`.
     *

     *
     * string mode = 3 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @return The bytes for mode.
     */
    public com.google.protobuf.ByteString getModeBytes() {
      java.lang.Object ref = mode_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        mode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     *

     * Optional. A column's mode indicates whether the values in this column are required,
     * nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
     * Default mode is `NULLABLE`.
     *

     *
     * string mode = 3 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @param value The mode to set.
     * @return This builder for chaining.
     */
    public Builder setMode(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }

      mode_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Optional. A column's mode indicates whether the values in this column are required,
     * nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
     * Default mode is `NULLABLE`.
     *

     *
     * string mode = 3 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @return This builder for chaining.
     */
    public Builder clearMode() {

      mode_ = getDefaultInstance().getMode();
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Optional. A column's mode indicates whether the values in this column are required,
     * nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
     * Default mode is `NULLABLE`.
     *

     *
     * string mode = 3 [(.google.api.field_behavior) = OPTIONAL];
     *
     * @param value The bytes for mode to set.
     * @return This builder for chaining.
     */
    public Builder setModeBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);

      mode_ = value;
      onChanged();
      return this;
    }

    private java.util.List<com.google.cloud.datacatalog.v1beta1.ColumnSchema> subcolumns_ =
        java.util.Collections.emptyList();

    private void ensureSubcolumnsIsMutable() {
      if (!((bitField0_ & 0x00000001) != 0)) {
        subcolumns_ =
            new java.util.ArrayList<com.google.cloud.datacatalog.v1beta1.ColumnSchema>(subcolumns_);
        bitField0_ |= 0x00000001;
      }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
            com.google.cloud.datacatalog.v1beta1.ColumnSchema,
            com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder,
            com.google.cloud.datacatalog.v1beta1.ColumnSchemaOrBuilder>
        subcolumnsBuilder_;

    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public java.util.List<com.google.cloud.datacatalog.v1beta1.ColumnSchema> getSubcolumnsList() {
      if (subcolumnsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(subcolumns_);
      } else {
        return subcolumnsBuilder_.getMessageList();
      }
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public int getSubcolumnsCount() {
      if (subcolumnsBuilder_ == null) {
        return subcolumns_.size();
      } else {
        return subcolumnsBuilder_.getCount();
      }
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public com.google.cloud.datacatalog.v1beta1.ColumnSchema getSubcolumns(int index) {
      if (subcolumnsBuilder_ == null) {
        return subcolumns_.get(index);
      } else {
        return subcolumnsBuilder_.getMessage(index);
      }
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public Builder setSubcolumns(
        int index, com.google.cloud.datacatalog.v1beta1.ColumnSchema value) {
      if (subcolumnsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureSubcolumnsIsMutable();
        subcolumns_.set(index, value);
        onChanged();
      } else {
        subcolumnsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public Builder setSubcolumns(
        int index, com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder builderForValue) {
      if (subcolumnsBuilder_ == null) {
        ensureSubcolumnsIsMutable();
        subcolumns_.set(index, builderForValue.build());
        onChanged();
      } else {
        subcolumnsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public Builder addSubcolumns(com.google.cloud.datacatalog.v1beta1.ColumnSchema value) {
      if (subcolumnsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureSubcolumnsIsMutable();
        subcolumns_.add(value);
        onChanged();
      } else {
        subcolumnsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public Builder addSubcolumns(
        int index, com.google.cloud.datacatalog.v1beta1.ColumnSchema value) {
      if (subcolumnsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureSubcolumnsIsMutable();
        subcolumns_.add(index, value);
        onChanged();
      } else {
        subcolumnsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public Builder addSubcolumns(
        com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder builderForValue) {
      if (subcolumnsBuilder_ == null) {
        ensureSubcolumnsIsMutable();
        subcolumns_.add(builderForValue.build());
        onChanged();
      } else {
        subcolumnsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public Builder addSubcolumns(
        int index, com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder builderForValue) {
      if (subcolumnsBuilder_ == null) {
        ensureSubcolumnsIsMutable();
        subcolumns_.add(index, builderForValue.build());
        onChanged();
      } else {
        subcolumnsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public Builder addAllSubcolumns(
        java.lang.Iterable<? extends com.google.cloud.datacatalog.v1beta1.ColumnSchema> values) {
      if (subcolumnsBuilder_ == null) {
        ensureSubcolumnsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(values, subcolumns_);
        onChanged();
      } else {
        subcolumnsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public Builder clearSubcolumns() {
      if (subcolumnsBuilder_ == null) {
        subcolumns_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
      } else {
        subcolumnsBuilder_.clear();
      }
      return this;
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public Builder removeSubcolumns(int index) {
      if (subcolumnsBuilder_ == null) {
        ensureSubcolumnsIsMutable();
        subcolumns_.remove(index);
        onChanged();
      } else {
        subcolumnsBuilder_.remove(index);
      }
      return this;
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder getSubcolumnsBuilder(
        int index) {
      return getSubcolumnsFieldBuilder().getBuilder(index);
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public com.google.cloud.datacatalog.v1beta1.ColumnSchemaOrBuilder getSubcolumnsOrBuilder(
        int index) {
      if (subcolumnsBuilder_ == null) {
        return subcolumns_.get(index);
      } else {
        return subcolumnsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public java.util.List<? extends com.google.cloud.datacatalog.v1beta1.ColumnSchemaOrBuilder>
        getSubcolumnsOrBuilderList() {
      if (subcolumnsBuilder_ != null) {
        return subcolumnsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(subcolumns_);
      }
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder addSubcolumnsBuilder() {
      return getSubcolumnsFieldBuilder()
          .addBuilder(com.google.cloud.datacatalog.v1beta1.ColumnSchema.getDefaultInstance());
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder addSubcolumnsBuilder(
        int index) {
      return getSubcolumnsFieldBuilder()
          .addBuilder(
              index, com.google.cloud.datacatalog.v1beta1.ColumnSchema.getDefaultInstance());
    }
    /**
     *
     *
     *

     * Optional. Schema of sub-columns. A column can have zero or more sub-columns.
     *

     *
     *
     * repeated .google.cloud.datacatalog.v1beta1.ColumnSchema subcolumns = 7 [(.google.api.field_behavior) = OPTIONAL];
     *
     */
    public java.util.List<com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder>
        getSubcolumnsBuilderList() {
      return getSubcolumnsFieldBuilder().getBuilderList();
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
            com.google.cloud.datacatalog.v1beta1.ColumnSchema,
            com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder,
            com.google.cloud.datacatalog.v1beta1.ColumnSchemaOrBuilder>
        getSubcolumnsFieldBuilder() {
      if (subcolumnsBuilder_ == null) {
        subcolumnsBuilder_ =
            new com.google.protobuf.RepeatedFieldBuilderV3<
                com.google.cloud.datacatalog.v1beta1.ColumnSchema,
                com.google.cloud.datacatalog.v1beta1.ColumnSchema.Builder,
                com.google.cloud.datacatalog.v1beta1.ColumnSchemaOrBuilder>(
                subcolumns_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
        subcolumns_ = null;
      }
      return subcolumnsBuilder_;
    }

    @java.lang.Override
    public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

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

    // @@protoc_insertion_point(builder_scope:google.cloud.datacatalog.v1beta1.ColumnSchema)
  }

  // @@protoc_insertion_point(class_scope:google.cloud.datacatalog.v1beta1.ColumnSchema)
  private static final com.google.cloud.datacatalog.v1beta1.ColumnSchema DEFAULT_INSTANCE;

  static {
    DEFAULT_INSTANCE = new com.google.cloud.datacatalog.v1beta1.ColumnSchema();
  }

  public static com.google.cloud.datacatalog.v1beta1.ColumnSchema getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<ColumnSchema> PARSER =
      new com.google.protobuf.AbstractParser<ColumnSchema>() {
        @java.lang.Override
        public ColumnSchema parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

  public static com.google.protobuf.Parser<ColumnSchema> parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser<ColumnSchema> getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.cloud.datacatalog.v1beta1.ColumnSchema getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }
}


October 2015, Issue 162 | Samuel Shapiro & Company, Inc.
Carrier Profits Rise Despite Falling Rates- But for How Long?
Is Picking and Peeling Off a More Efficient Container Strategy?
India's 15th Prime Minister, Narendra Modi, took office on the platform of improving infrastructure and eliminating bureaucratic burdens to trade. Modi's economic expansion plans seek to turn India into a hub for global manufacturing, even spearheading the Make in India initiative to attract foreign direct investment. In order to turn economic dreams into reality, Modi believes the key lies in infrastructure and logistics development. His vision to double capacity at India's major ports through a privatization policy has already met strong opposition and left the Prime Minister scrambling to find alternative options to fund port expansion projects.
On September 2nd, trade unions won the battle against India's planned port corporatization initiative after a nationwide dockworker strike. As reported in our September Issue, labor groups held a national, industry-wide labor protest against the government's decision to privatize terminals. Labor groups across the industry including dockworkers, truckers, seafarers, shipyard workers, rail employees and portions of the public sector joined in the protest. Union members and labor groups within the port system see privatization as a threat to their jobs and their benefits.
India's 12 major public sector ports, including Jawahrlal Nehru (the nations' largest container gateway), are run by the central government and have been losing market share since the Indian economy liberalized in the 1990s. Direct competition from the 200 minor private ports has resulted in a 36 percent drop in market share at major ports from 1991 to 2014.
While the U.S. and India attempt to strengthen trade ties, India's government has shown no sign of removing Indian import barriers. The U.S. Senate Finance and House Ways and Means committees, in a rare show of solidarity between Democrats and Republican members, expressed concern over India's tariff and non-tariff trade barriers to US exports. India has already violated the World Trade Organization's Information Technology Agreement by raising tariffs on information tech products this year. Among the larger list of complaints, inadequate intellectual property rights protection and a dragging food approval system continue to thwart India's trade relationships, especially with the U.S.
Seychelles, Uruguay and Venezuela have become high-income countries as defined by the official statistics of the World Bank and will thus be removed from GSP eligibility effective Jan. 1, 2017.
Effective Oct. 1, the following cotton products are being added to the list of GSP-eligible goods when imported from least-developed beneficiary developing countries.
The 50 percent CNL is being waived for two products from Thailand, thus reinstating them to GSP eligibility.
The following products that had previously exceeded the applicable CNL are re-designated as GSP-eligible effective Oct. 1.
The agreement was announced nearly three months after the closure of the Export-Import Bank, which, aside from financing trade, was also envisioned to stimulate interest in U.S. exports, both domestically and internationally. The new partnership between the NCBFAA and the ITA, with its primary goal of export-oriented education, will likely serve as the new knowledge center for all things export, as the agreement combines the resources of the nearly 1,000 member companies of the NCBFAA with the ITA's extensive base of export knowledge experts. The ultimate goal is to help as many U.S. businesses as possible broaden their appeal with a non-U.S. consumer base, who account for over 96% of the current global consumer population.
No official marketing plans have been announced as of yet, though the official press release mentioned the specific targeting of U.S. educational institutions and small to medium-sized businesses. The partnership also plans to bring greater focus to existing export initiatives, such as the National Export Initiative (NEXT), the National Travel and Tourism Strategy, and the Select USA Initiative. Concrete plans for the partnership should start to take shape over the next three months for a grand release in 2016.
Ministers of the 12 Trans-Pacific Partnership (TPP) countries concluded trading negotiations on October 4th, completing one of the most ambitious multilateral trade deals of the last two decades and paving the way for lower tariffs and increased trade standardization throughout the Pacific Asia region. While the complete details of the 30 chapter agreement have not yet been released to the public, the Office of the U.S. Trade Representative (USTR) has released a summary of key changes of which exporters and importers of goods from Pacific Asia should be aware.
Tariffs throughout the TPP region will be reduced or eliminated for both agricultural and industrial goods and non-tariff trade barriers in both the goods and services sectors will be reduced to generate new opportunities and investment.
Rules of origin requirements will be standardized for cross-TPP trade.
TPP-wide standards of customs service transparency will be developed.
Technical Barriers to Trade (TBT) will be reevaluated for their conformance with a TPP-peer standard and a public comment period will be mandated for any technical regulations.
TPP markets will be made more open to foreign investment, with certain investment enumerated industries remaining under the discretion of member countries.
Neutral and transparent international arbitration of investment disputes will be implemented with safeguards to protect members from frivolous claims.
Mechanisms for measuring the competitiveness of TPP will be implemented.
A special committee of small and medium-sized enterprises will be developed to ensure that they are able to benefit from the agreement via capacity building activities and export counseling.
With the multilateral agreement completed, TPP awaits ratification in the U.S. Congress before implementation can begin.
TPP Member Countries: Australia, Brunei Darussalam, Canada, Chile, Japan, Malaysia, Mexico, New Zealand, Peru, Singapore, United States, and Vietnam.
On September 21, 2015 The Department of the Treasury's Office of Foreign Assets Control (OFAC) published a final rule in the Federal Register to the Cuban Assets Control Regulations, 31 C.F.R. part 515 (the "CACR"), to implement additional revisions with the policy changes announced by President Obama on December 17, 2014.
These changes are intended to further engage and empower the Cuban people by easing more sanctions related to travel, telecommunications and internet-based services, business operations in Cuba, and remittances. The changes are effective September 21, 2015 and the Frequently Asked Questions pertaining are updated accordingly.
The Food and Drug Administration (FDA) has increased surveillance of FDA-regulated products imported from the industrial center Binhai New Area in China. A chemical explosion at a port warehouse killing at least 139 people on August 12, 2015. Tianjin Dongjiang Port Rui Hai International Logistics Co. Ltd. is the storage and distribution center that housed the hazardous chemicals (including sodium cyanide (NaCN), toluene diisocyanate (TDI) and calcium carbide (CaC2), all of which pose direct threats to human health on contact) which lead to the deadly explosion. In order to identify contaminated cargo, FDA will be requiring submission of entry and shipping documents (bills of lading, air waybills, commercial invoices, etc.) for entries of human and animal food products, human and animal drug products, and medical devices which are indicated as having originated from, stored in, or transited through the industrial center Binhai NewArea in Tianjin, China. FDA will review the documents to determine if the shipment was in the Tianjin, China area on or after August 12, 2015. Products that departed Tianjin before August 12, 2015 will only be subject to routine FDA admissibility review and may be required to provide additional information to determine safe admissibility.
If you are not the end commercial user of the product, provide information identifying all known recipients of the product.
Where was the product located (geographical location) at the time of the explosion and in the aftermath of the explosion through the present?
How was the product packaged (primary, secondary packaging, wrapped pallet, shipping container, etc.) at the time of the explosion and in the aftermath through the present?
Explain whether your firm conducted a risk assessment to determine the impact of the August 12 explosion on the safety of your product. And, if so, explain your methodology and the outcome of your assessment.
Explain what testing has been conducted or is planned to be conducted on the product to identify contamination associated with the August 12 explosion?
Importers are advised that it may speed FDA's review process if entry documentation is provided in a timely manner; and, for those shipments indicated for examination or sampling, if location and availability information is provided in a timely manner. To facilitate receipt and review of information, FDA strongly recommends submission of documents via electronic means. FDA's Import Trade Auxiliary Communication System (ITACS) is designed to improve communication between FDA and the import trade community and facilitate the electronic submission of documents to FDA.
Questions related to the entryprocessing of specific entries should be directed to the FDA District covering the port of entry.
The Department of Commerce, Bureau of Census, Automated Export System (AES), is moving the AES Direct function to the New AES Direct Portal in ACE or the Automated Commercial Environment.
Theresa Gordon, the new Trade Ombudsmen in the International Trade Management Division (ITMD) at the U.S. Census Bureau, announced this month that they will begin beta testing the new AES Direct Portal in ACE. It is expected that the new AES Direct Portal will be live and run concurrently with the legacy Census AES Direct portal this fall.
In our August 2015 Edition of Shap Talk, we advised ACE Secure Data Portal is open to Exporters to obtain ACE Trade Export Reports, however, there have been issues with some exporters gaining access to the portal. While over 200 applications have been received, only 40 have been approved. Exporters are advised to answer Census inquiries in a timely manner as accounts will be vetted for accuracy and proper ownership.
In an effort to assist exporters, Census Outreach and Training, together with U.S. Customs and Border Protection (CBP), hosted a webinar on September 17, 2015 for the trade community with detailed information on how to apply for an ACE Exporter account and how to run ACE trade export reports. The copy of the Automated Commercial Environment/Automated Export System Export Reports Webinar is available in both presentation slides and recorded formats.
If you are still having trouble accessing your export portal account, contact the Trade Outreach Branch at 1-800-549-0595, option 5 or via email at exportreports@census.gov.
Representatives from the International Longshoremen's Association (ILA) and the United States Maritime Alliance (USMX) are committed to working out an East Coast and Gulf Coast port labor contract that would extend through 2025.
Both the ILA and USMX met the week of September 21 to start discussions on a possible seven-year extension beyond the current contract that expires in 2017. Demand for a long-term deal increased after the West Coast strike last year. Both sides were careful not to over promise anything but feel that, given that the current contract has three years remaining, they have the time to sit down and negotiate and get the contract right for both sides.
ILA and USMX want the long-term deal to include a change in management process to allow adjustments as the industry develops and advances. The deal would also address developments in healthcare,technology and automation.
One of many benefits of having a 10-year-deal would help companies plan their third party capital investments. Another benefit would be to proving to shippers, ocean carriers, labor, and customers that the East Coast and Gulf Coast are reliable port systems with which to work.
Cargo volumes from Asia to U.S. West Coast ports came roaring back in the month of August. On the heels of a year-long labor dispute between the ILWU and Ports Management, the U.S. West Coast ports saw a three percent gain in market share in the Asian import market while the U.S. East Coast ports saw their share drop by three percent. The month of August had the highest monthly volume for Asian/U.S. imports in the past 10 years.
The recent surge in imports at the U.S. West Coast ports is great news after the gridlock we saw in January and February of 2015 that caused importers to divert cargo through Canada or through the U.S. East or Gulf Coasts. As many of you are well aware, this congestion lasted through the early summer months but saw a breakthrough in the month of August. West Coast ports report unusually strong year-over-year increases in import volumes as follows: Seattle and Tacoma; 21.6 percent; Long Beach 23.3 percent and Los Angeles at 3.8 percent.
The August surge in West Coast cargo suggests that shipping patterns are starting to return to normal for the fall peak-season in the Trans Pacific market. There are some importers that still feel wary of the problems that existed on the West Coast; analysts believe that roughly half of the diverted cargo to the U.S. East Coast may be permanent. For larger importers with time/cost-sensitive supply chains, shorter transit times and lower IPI costs are enough reason not to ignore using West Coast ports as their gateway.
The widening of the Panama Canal, and the introduction of larger vessels, is seen by the railroads as a threat to their business volumes. They are keenly aware of the potential need to adjust the pricing of IPI moves from the West Coast in order to keep market share.
As China's relative anemic growth and volatile stock market continued to grab news headlines on September 1st, fellow G-20 member South Korea reported similarly disappointing economic news.According to the country's Ministry of Trade, Industries, and Energy, the economy experienced a stunning 14.7% drop in exports, its largest decline in six years.
This suggests hard times ahead for the export-driven economy, as exports account for roughly half of the country's GDP. The drop was driven by a series of factors. Weaker Chinese demand for Korean exports has been particularly difficult for the country, as the world's second largest economy is the country's largest partner and recipient of a quarter of the country's exports. Similarly, as a large producer of refined oil products, the global trend of low oil prices has been responsible for a drop in the value of exports for the country.
While the South Korean government was quick to suggest that the falling value of the yuan in China and a subsequent uptick in Chinese exports would help bolster the country's own exports of intermediate goods to China, third party economic observers have expressed concerns that South Korea's economic issues are a glimpse into the future of the global market as a whole. South Korea's economic performance has long been viewed as an early indicator of the health of the global economy, due to the country's reliance on the export of intermediate goods utilized in the production of higher end finished products, such as personal electronics. A dip in demand for these intermediate goods suggests a bearish production outlook by companies in the face of market uncertainty, pointing to lower global growth in the short and medium-term.
While freight rates continue to drop, and as attempts to pass General Rate Increases (GRI) and Peak Season Increases (PSI) have failed, several ocean carriers are surprisingly seeing their profits jump in 2015.
CMA CGM reported 66.7% percent increase in profits for the second quarter. The increase can be attributed at least in part to the lower cost of fuel and higher volumes in the first half of the year. Carriers such as CMA are also shipping with larger vessels which enable them to maximize the volume of container son each ship.Despite reporting a drop in average revenue per container, CMA still managed to raise net profits with these economies of scale.
Other carriers are also experiencing the similar performance. As an example, Maersk Line, the second largest container line, reported a 20 percent increase for the same reasons as CMA.
Unfortunately for the carriers, the increased profitability numbers are not expected to last as we enter the fourth quarter.Despite the continued decrease in fuel costs, carriers will struggle to maintain profitability comparable to the success of the first half of the year. Not only is the highly anticipated "peak season" in question, but whether the carriers will be able to pass along the normal peak season increases remains to be seen.
Due to the uncertainties in the market, many large importers have fulfilled their inventory demands earlier in 2015. As a result of this, carriers will struggle to fill the increased number of larger capacity, fuel-efficient ships during what is typically known as "peak season". As carriers struggle to fill the ships, the rates will decline.
This has proven true thus far this year: a September 15 GRI of $600 per 40' container was announced for Trans Pacific cargo from Asia to U.S. It hit the market at about $200 per container and has since deteriorated. Similarly, an October 1 GRI was imposed in the amount of $480/20', $600/40', and $675/40'high cube; it has now been delayed until October 15, 2015 due to the flat market.
As mega-vessels bring more cargo capacity to ports, managing the staggering increases reveals a dire need for new methodologies to help avoid congestion and delays. One such method that may provide an answer, albeit shortsighted, is the peel off method. This approach, first implemented at the peak of the LAX/LGB port congestion crisis last year, continues to be utilized and preferred by terminal operators and truckers alike. In fact, the peel off method is believed to have already increased terminal handling and pickup efficiency by approximately 50 percent.
Peel off works by grouping cargo belonging to the same Beneficial Cargo Owner (BCO), or multiple smaller BCO's who agree to share space in a single stack; this dramatically saves time during the handling and unloading processes. Peel off minimizes the use of a trainstainer, the machine used to reposition surrounding containers in order to access a particular container that is ready for pick up. In typical operations, two to three containers can take between two to five minutes each to reposition in order to gain access to a particular container ready for pick up. With the peel off method, no container repositioning has to take place, and this allows terminal operators to utilize the top pick machine which is much faster and more efficient than a trainstainer but cannot typically be used because of its ineffectiveness at repositioning containers.
While port efficiency gains are significant, the primary advantage of the peeling off method is the reduced wait time for truckers. A single "stack" must be comprised of at least 250 containers to be financially feasible, and once a "stack" is achieved a BCO's truckers are called and allowed to enter the yard immediately for pick up. Drivers do not receive a specific container, but rather the container that is on top of the single stack at the time of pick up. The drivers then take the containers to an off-dock yard where they drop the container. Subsequently, they return to the terminal and continue the pickup process until the single stack has been moved. If distribution centers or receiving locations are close enough to the port,this system can also work without the complication and cost of an off-dock yard as well.
Peel off can typically eliminate thirty to forty minutes from wait times, often longer during periods of significant congestion.Truckers certainly won't complain about the possibility of returning to multi-trip days. Drivers are paid per trip to the port, the drayage industry has been struggling to attract labor since congestion from mega vessels has placed so much stress on port infrastructure and efficiency.
This month, we would like to recognize Kim Devoe, Credit & Collections Manager in Baltimore for her outstanding performance and contributions.


have designed the Good Residence in Melbourne, Australia.
Crone Partners Melbourne office has designed the Good Residence in Sandringham, Victoria.
Embracing the challenge of a relatively tight inner suburban location, and restrictive building envelope, the designers worked closely with the client to rationalise their "wish list" into a concise and deliverable brief. Little was lost in this process and even less in the translation to a finished home for the builder / client and their young family.
The house's finely detailed bold rectilinear form is set back from the street amidst a carpet of natural ground cover. Entrance down the side of the house is made via a subtle path formed from old railway sleepers embedded into the ground. Whilst sitting comfortably in its street context proportionally, and with setbacks respectful of its neighbouring properties, the view from the street confirms immediately that this house is quite different to those around it.
The project is realised through a series of simple intersecting and overlapping rectangular forms. Each "box" represents a distinct portion of the overall program. A sleeping / study zone, a living zone, a garage / workshop, and cantilevered above all of this, a parents retreat, complete with its own living area and secluded outdoor terrace.
The forms of the building have been carefully articulated as both screening devices for privacy, and elements that frame and define views. The robust external cladding that changes appearance significantly in different weather and lighting conditions, gives way to a warm and welcoming interior, filled with natural light, high ceilings, double height voids and sensuous materials. Extensive use and clever placement of high performance double glazing draws light into every room. The line between interior and exterior is blurred, with banks of operable louvres and huge sliding glass panels presenting the family with the ability to engage directly with the outside environment, or to close the place down completely, dependant on the variable Melbourne climate.
· High performance tinted double glazing.
· Solid heavily insulated west façade with limited openings.
· Increased internal thermal mass to minimise diurnal temperature fluctuation.
· Double skin façade to the exposed east on Level 1 provides both visual privacy and excellent thermal control. The external skin is made up entirely of opaque glass louvres.
· 20,000 litre rain water storage tank below ground for reuse in toilet flushing and irrigation.
· Solar access to the feature lap pool has been maximised by aligning the building as close as possible to the south west boundary.
· Roof mounted solar heating for the pool.
Visit the Crone Partners website – .


text:
Q: drag and drop from grid to grid in DHTMLX I want to save the changes made in grids through drag and drop method without linking to server.When I refresh the window the changes made have to be saved to the grid.
I have loaded the grids with 2 different xml data and saved the id's of dragged text in local storage.

A: Unfortunately such feature is not available without using of dataprocessor.
I may suggest you to serialize your grids, and store the serialized data in your local storage, so after the page reloads you will load data from the serialized XML:
http://docs.dhtmlx.com/doku.php?id=dhtmlxgrid:grid_serialization
or you may move your dragged rows manually after the page reloads using the moveRow() method:
http://docs.dhtmlx.com/doku.php?id=dhtmlxgrid:api_method_dhtmlxgridobject_moverow

redpajama_set_name: RedPajamaStackExchange


The ESTA program in the United States is the electronic system for travel authorization, and it greatly expedites the process of being cleared to enter the US upon landing. You may have applied for a visa, but your visa will be checked when you get to customs at any airport in America. The simplest way to avoid problems is through the ESTA, and this article explains how the ESTA may be used for your benefit.
#1: Do You Have A Sponsor?
You may find a sponsor for your travels that includes an employer or host in America. The sponsor is a part of the application process that often makes things easier on you. You may not know how much the United States values sponsors, but a sponsor if often the only way to get into the country.
A contact on American soil ensures that you may go directly to that business or person. If you do not have a sponsor lined up, you may wish to find one before your trip begins. This person may be the one who picks you up, or they may send a representative that sets Homeland Secjurity and customs agents at ease.
You cannot fill out an ESTA application if you do not have all your documentation prepared. Proper documentation includes your birth certificate and proof of sponsorship. You may need a photo ID that is issued by your home country, and your host may need to go online and fill out their part of the ESTA application.
The documentation you collected for the application must travel with you to the US because a customs agent may want to see it. You are hoping to expedite the process in customs, but having the documents may avoid any gripes over bad copies or a photo that is difficult to see.
ESTA is needed for all workers who wish entry to the US, and it may be used for youruschool tour, athletic team, or family members who come for visits. You must be quite organized if you plan to have applications completed for everyone. Again, you must travel with all needed documents because the customs agents will ask for any documents they cannot read or understand.
You must begin the process today because the website is quite busy, and you may return to complete more applications if needed. The website allows you to check the progress of each application, and your eceive confirmation of your completed application that may be kept in email form on your mobile device.
The final check occurs when you land, and you must have everything on your person. Get everyone in your group ready to speak to customs, and ensure that you have proof all your applications were completed. A decision is made in moments, and you may go on about your trip. The ESTA program works much better when you get organized, bring your documents, and have a sponsor in America.
17.04.2019 16:06 Where to print stickers in Vancouver?
Where to print stickers in Vancouver?
The Technology of Mouse Pads Today!


This Fabulous Destiny the Whale Shark Cake was made by Claire North from Let Them Eat Cake. Dory is swimming beside Destiny.
My name is Claire North and I picked the whale shark from the movie just because I like her. I mean she has spots and who doesn't like spots? I am from NZ but living in Orlando, Florida and have been caking for nearly 4 years now.
Destiny is a whale shark, a character in Disney's Finding Dory, who lives at Marine Life Institute. She lives at the institute because she cannot see very well. Dory speaks whale to her friend Destiny.


Abstract: An observational, descriptive, cross sectional hospital - based study was conducted in the duration from 15th September -28 th september 2007 to determine the awareness of patients with chronic renal failure about potential complications of hemodialysis at Ahamed Gasiem hospital . After taking their consent; a data form (questionnaire) was structured and then filled by interviewing 97 patients when they had their renal hemodialysis sessions. The study showed that : 53.61% of the patients had complication due to renal haemodialysis, while hypotension is the most common complication faced by chronic renal failure patients (28.9%) , 39.18% of patients was found awareing about it, 25.7% of the patients was found not to believe in renal hemodialysis complications, Moreover 48.45% of patients did not aware about the effect of the types of food as the major risk factor which can increase the hemodialysis complication. It was also found that there is relative increase in the awareness about: transmission of infections through the blood in renal hemodialysis (63.92%), muscle cramps(62.89%), skin infection(60.82%),and anemia(54.64%) because they are more common than other complication which include Disturbance in consciousness(32.99%) and Allergic reaction(34.02%).It was found that 43.3% that patient,s psychological condition didn't affect by renal hemodialysis. finally 56.7% of them was found go directly to the doctor whenever that they have complications away from renal hemodialysis unit.


text:
Q: Validar unión de varios campos en un modelo en Django Tengo un modelo donde almaceno los datos de las facturas de compras: Proveedor, tipo_comprobante, letra_comprobante, sucursal y numero_comprobante. Lo que necesito es que al ingresar un nuevo comprobante, validar que no se repita. Es decir que no se cargue dos veces la misma factura de compra.
class FactProv(models.Model):
    ''' Esta tabla almacena todos los detalles de la factura de compra '''
    letra_comprobante = models.CharField(max_length= 1, choices=Letra.choices, default=
                        Letra.A, verbose_name= 'Letra')
    sucursal = models.DecimalField(max_digits= 4, decimal_places=0,
               verbose_name='Sucursal')
    numero_comprobante = models.DecimalField(max_digits=8, decimal_places=0, verbose_name
                       = 'Numero')
    tipo_comprobante = models.CharField(max_length=2, verbose_name= 'Tipo Comprobante',
                       choices= Tipo.choices, default=Tipo.FC)
    proveedores = models.ForeignKey(Proveedores, default = None, on_delete=
                  models.SET_DEFAULT)

Algo que se me ocurre es en mi vista validar campo por campo si existe el dato, por ejemplo el campo 'numero_comprobante':
nro_compr = form['numero_comprobante'].value()
if self.model.objects.filter(numero_comprobante = nro_compr).exists():
   print("Existe el numero de comprobante")
else:
   print('No existe el numero de comprobante')

Hice un resumen del código para no hacerlo muy extenso.

A: Agrega unique=True a tu campo.
numero_comprobante = models.DecimalField(max_digits=8, decimal_places=0, verbose_name='Numero', unique=True)

o puedes hacerlo en el método save:
class FactProv(models.Model):

    # defines todos tus campos y otros métodos

    def save(self, force_insert=False, force_update=False):
        if not FactProv.objects.filter(numero_comprobante=self.numero_comprobante).exists():
            super(FactProv, self).save(force_insert, force_update)

Update 1
En base a lo que comentas, si quieres que se aplique una validacion de multiples campos unicos puedes utilizar UniqueConstraint
class FactProv(models.Model):

    # defines todos tus campos y otros métodos

    class Meta:
        constraints = [
            models.UniqueConstraint(fields=['numero_comprobante', 'proveedores'], name='unico comprobante por proveedor')
        ]

Update 2
También puedes hacerlo sobrescribiendo el método clean.
Esta función se ejecuta antes de las operación de guardar o actualizar un registro en la base de datos:
class FactProv(models.Model):
    ## Defines tus campos y demas métodos

    def clean(self):
        if FactProv.objects.filter(numero_comprobante=self.numero_comprobante, proveedores=self.proveedores).exists():
            raise ValidationError('EL numero de comprobante ya existe para este proveedor')


text:
Steven Palazzo & Mario Diaz-Balart
Compare the voting records of Steven Palazzo and Mario Diaz-Balart in 2017-18.
Steven Palazzo
Represented Mississippi's 4th Congressional District. This is his 4th term in the House.
Represented Florida's 25th Congressional District. This is his 8th term in the House.
Steven Palazzo and Mario Diaz-Balart are from the same party and agreed on 95 percent of votes in the 115th Congress (2017-18).
On Motion to Suspend the Rules and Concur in the Senate Amendment to House Amendment
Dec. 20, 2018 — First Step Act of 2018
June 27, 2018 — Border Security and Immigration Reform Act of 2018
June 27, 2018 — Langevin of Rhode Island Part A Amendment No. 9
April 26, 2018 — King of Iowa Part A Amendment No. 63
Feb. 15, 2018 — ADA Education and Reform Act of 2017
Oct. 24, 2017 — Cicilline of Rhode Island Part B Amendment No. 5
Sept. 6, 2017 — King of Iowa Part B Amendment No. 51
Sept. 6, 2017 — Carter of Georgia Part B Amendment No. 17
June 29, 2017 — No Sanctuary for Criminals Act
June 28, 2017 — Hudson of North Carolina Amendment No. 4
June 13, 2017 — Verify First Act
March 9, 2017 — Innocent Party Protection Act
March 9, 2017 — Fairness in Class Action Litigation Act
March 9, 2017 — Espaillat of New York Part B Amendment No. 8

redpajama_set_name: RedPajamaCommonCrawl


Chris Woods Construction Co. Inc.
Chris Woods Construction Company is a general contractor that offers a variety of services to commercial and industrial customers. Please go to our website for further information and completed jobs.
At the intersection of US Highway 70 and Germantown Road. Call 386-3182 for detailed directions.


text:
4VF News – Daily News Channel
Daily News Channel
Friends, colleagues honor Walter Cronkite
Posted byadmin September 9, 2009
Friends and colleagues of legendary CBS anchorman Walter Cronkite gathered Wednesday in New York's Lincoln Center to remember "the most trusted man in America."
"Like all of you, I have benefited as a citizen from his dogged pursuit of the truth, his passionate defense of objective reporting, and his view that journalism is more than just a profession," President Obama told the crowd. "It is a public good, vital to our democracy." "Walter wasn't afraid to rattle the high and the mighty," he said. "I thought that he had the most trusted news program because he had an inquiring mind and a caring heart and a careful devotion to the facts," former President Bill Clinton said. "He was always looking for the story, not the storyline. And there's a big difference." "I thought he was one of the most interesting men I ever saw," Clinton added. Watch Clinton share memories of Cronkite Cronkite died on July 17 at the age of 92. He had anchored the "CBS Evening News" from 1962 until 1981. Other speakers at the memorial on Wednesday included CBS colleagues Katie Couric, Andy Rooney and Bob Schieffer, as well as former NBC anchor Tom Brokaw. Cronkite's career spanned much of the 20th century, as well as the first decade of the 21st. The native of St. Joseph, Missouri, broke in as a newspaper journalist while in college, switched over to radio announcing in 1935, joined the United Press wire service by the end of the decade, and jumped to CBS and its nascent television news division in 1950.
Former CBS anchor 'Uncle Walter' Cronkite dead at 92
Walter Cronkite spoke from the heartland
How 'That's the way it is' became Cronkite's tag line
He also made his mark as an Internet contributor in his later years with a handful of columns for the Huffington Post. Cronkite covered World War II's Battle of the Bulge, the Nuremberg trials, several presidential elections, moon landings, the assassination of President John F. Kennedy and the Watergate scandal of President Richard Nixon's administration. At times he even made news himself. A 1977 question to then-Egyptian President Anwar Sadat about Sadat's intent to go to Israel — at the time considered a nonstarter because of the lack of a treaty between the two countries — received a surprising "yes" from the Egyptian leader. Soon after, Sadat traveled to Jerusalem, a trip that eventually led to the Camp David Accords, which included a peace deal between Israel and Egypt. At his height of influence as CBS anchorman, Cronkite's judgment was believed so important it could affect even presidents. In early 1968, after the Tet Offensive, Cronkite traveled to Vietnam and gave a critical editorial calling the Vietnam War "mired in stalemate." Noting Cronkite's commentary, President Lyndon Johnson reportedly said, "If I've lost Cronkite, I've lost Middle America." Less than two months later, Johnson announced he would not seek re-election. Cronkite's own name was often floated as a presidential possibility — wishful thinking on the part of some pundits, because Cronkite had little desire to enter politics once he'd become a successful anchorman. He became, however, an outspoken critic of what he saw as flaws in government and broadcast journalism. He disliked the current war in Iraq, telling Esquire magazine, "Indeed, we are in another Vietnam. Almost play by play. It's a terrible mistake that we're in Iraq, and it's a terrible mistake to insist on staying there."
And he disliked the corporatization of news. "The nation whose population depends on the explosively compressed headline service of television news can expect to be exploited by the demagogues and dictators who prey upon the semi-informed," he wrote in his 1996 memoir, "A Reporter's Life."
The Man with America's Trust: Walter Cronkite (1916-2009)
Cronkite funeral Thursday at Manhattan church
Tom Brokaw on Walter Cronkite
Posted byadmin September 9, 2009 Posted inDaily NewsTags: cbs, couric, defense, evening, huffington, inquiring, landings, lincoln, passionate, pursuit, walter
Family massacred in Iraq bombing
China set to provide first swine flu vaccines
4VF News – Daily News Channel, Proudly powered by WordPress.


University of North Texas Regents Professor Victor Prybutok was recently awarded the 2018 Decision Sciences Institute's Lifetime Distinguished Educator Award.
Prybutok, Vice Provost for Graduate Education and Dean of the Toulouse Graduate School, received the award for exceptional contributions to teaching and learning in the disciplines of decision sciences over the course of a career. During his time in higher education, Prybutok has published over 200 journal articles and given more than 300 presentations worldwide.
Decision sciences is the application of behavioral sciences, psychology, business, technology, statistics and a number of other disciplines to help people make determinations when faced with ill-defined and ever-changing problems.
The Decision Sciences Institute is a global society of 1,800+ business school scholars dedicated to creating, developing, fostering and disseminating knowledge to improve managerial decisions and decision-making involving systems and people.
Prybutok received his Ph. D. in environmental analysis and applied statistics in 1984 at Drexel University in Philadelphia, Pennsylvania. He is an ASQ quality engineer, certified quality auditor, certified manager of quality and once served as a Texas quality award examiner. Prybutok is also an American Statistical Association accredited professional statistician and was the recipient of the American Society for Quality's 2017 Gryna Award. He joined the University of North Texas faculty in 1991.


Director of Camp Ramona, has been a high school teacher for over 30 years, and currently works as a Math teacher/Basketball coach at Ramona Convent during the school year. In addition to holding a valid California Teaching credential, she is also a high school and college sports referee, and has raised three children of her own. Ms. Garcia is a graduate of Occidental College, and is CPR and First Aid certified. She looks forward to another fun and exciting summer at Camp Ramona, summer 2020.
Ms. Karina is an experienced elementary school teacher. After receiving her teaching credential and masters degree in Education from UCLA, she worked for Los Angeles Unified School District as as a kindergarten teacher. She currently works as a kindergarten teacher in San Francisco Unified. When she isn't busy working with early elementary students, Ms. Karina enjoys playing soccer, cooking, and traveling. Ms. Karina is first aid and CPR certified.
Ben Velasquez has worked for Camp Ramona for numerous summers. He is currently the Athletic Director and Marketing Director of All Souls School in Alhambra. Ben wears a variety of hats at our camp. Some of his responsibilities are, lifeguard, counselor, and bike repairman.


Many people use multiple social media sites such as Facebook, Twitter, and LinkedIn to state their opinions on world views, share photos, and keep friends updated on everything from what they ate for dinner to the disagreement they had with their boss.
Social media is a fun way to connect with others when busy schedules make it difficult to attend face-to-face get-togethers. But social media can have a downside. There have been multiple cases of people getting disciplined or fired for posts on social media.
Employment law offers certain protections to those in the workforce, but how do these laws pertain to social media? Individuals who have faced reprimand, missed out on a job offer, or lost a job due to social medical presence can contact experienced attorney Dan A. Atkerson to learn more about employment law and social media at our practice, serving the Lewisville, TX and Carrollton, TX areas.
Social media is a fairly new area of concern in regards to employment laws. It is only recently, as cases have been brought to court, that the National Labor Relations Board (NLRB) has had to step in and take action to protect employees in regards to social media.
The regulations set forth by the NLRB are in addition to state laws that are already in place to protect employees from discrimination based on off-duty conduct, shared political opinions, sexual orientation, or religious beliefs.
The federal guidelines of the NLRB protect employees from being disciplined or fired based on certain types of job-related posts. Specifically, online protections pertain to employees engaged in concerted activity.
Concerted activity is any topic, discussion, or complaint that relates to the interests of more than one employee. For instance, posts related to issues such as benefits, pay rates, work safety, or the overall work environment should be protected as a concerted effort.
Conversely, a direct complaint about how a supervisor spoke to you in the hallway would not fall under the federal protections of the NLRB. Similarly, any personal attacks, threats of violence, or the sharing of confidential company information would be classified as social media posts that are not protected by the NLRB.
Can I Be Fired for a Social Media Post?
The basic question that most employees want answered is whether or not they can be fired for a social media post. The simple answer is "yes." However, this right only pertains to certain situations, such as when trade secrets are shared or when the post threatens violence or is harassing to another employee. Unfortunately, many people have been unjustly fired for social media posts that should be protected under federal regulations.
Anyone who has been fired as a direct result of a social media post should speak to an experienced employment law attorney, such as Dan Atkerson to discuss the details of their case and find out if their rights have been violated. In cases of wrongful termination, we will fight for the compensation our clients deserve.
To learn more about your right regarding employment laws and social media, contact us at your earliest convenience to set up a consultation with attorney Dan A. Atkerson. If your employer is in violation of employment laws, Mr. Atkerson will use his experience and expertise to collect the compensation you are due for related damages.


"In Another Life" is a documentary about past lives and past-life memories and it is fascinating to watch. It includes scientific research and first-hand accounts of children's past-life memories, spontaneous flashback memories of adults' past lives, past-life regressions, workshop experiences, and even covers Eastern spirituality.
← Who Was Steve Jobs in His Past Life?
that problems don't come from this life. I think that is not recognizing the importance of the present.
Someone later on contradicted that idea, which was good. I'm also interested in Maher Baba's point of view that most people can't handle the knowledge of their past lives and we should not try to bring the separating wall down, to use his image. I prefer to think of Dr. Brian Weiss's work and how he was able to help the patient in his first book through past life regression, when nothing else he or anyone did helped her to be able to live a healthy, sane existence.
Thank you for sharing this, Mira. It makes so much sense. Unfortunately "the system" tries to train all this out of us by the time we become adults.
Thank you for helping to put us in touch with that we already knew but forgot!
Thank you for posting this. We don't need to believe in anything to have an experience. A hypnosis session is the most direct way to have a direct experience of this well detailed "past life memories". After that, does it really matter what you believe or disbelieve?


Looking to ski Charlotte Pass?
Half your luck! Larry Adler rent-a-ski's main store is located in Jindabyne, however you can still enjoy the convenience and support of our service if you're staying in Charlotte Pass.
Charlotte Pass is the perfect ski resort for families and first time skiers, and is accessed via ski cat over snow from Perisher Valley.
In fact, Larry Adler himself was a ski instructor here for many years and the Adler family grew up skiing at this magical place.
If you're skiing at Charlotte Pass with your family, don't forget to take advantage of the famous Larry Adler rent-a-ski Kids Ski Free offer. It'll save you at least $180!
Why choose Larry Adler rent-a-ski when you're skiing at Charlotte Pass?
Ultimate convenience: Simply order your gear online and then pick it up from Larry Adler rent-a-ski Jindabyne on your way through to your accommodation at Charlotte Pass. This saves you lugging it all the way from Sydney.
Our Jindabyne store is open 7am to 7pm daily, and even stays open until 1am on Friday nights.


text:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:duration="1000"
        android:repeatCount="0"
        android:toDegrees="360" />

</set>

redpajama_set_name: RedPajamaGithub