/*
 * Copyright 2018 IBM Corp. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */
package com.ibm.watson.discovery.v1.model;

import java.util.List;

import com.google.gson.annotations.SerializedName;
import com.ibm.cloud.sdk.core.service.model.GenericModel;

/**
 * A list of Document Segmentation settings.
 */
public class SegmentSettings extends GenericModel {

  private Boolean enabled;
  @SerializedName("selector_tags")
  private List<String> selectorTags;

  /**
   * Gets the enabled.
   *
   * Enables/disables the Document Segmentation feature.
   *
   * @return the enabled
   */
  public Boolean isEnabled() {
    return enabled;
  }

  /**
   * Gets the selectorTags.
   *
   * Defines the heading level that splits into document segments. Valid values are h1, h2, h3, h4, h5, h6. The content
   * of the header field that the segmentation splits at is used as the **title** field for that segmented result.
   *
   * @return the selectorTags
   */
  public List<String> getSelectorTags() {
    return selectorTags;
  }

  /**
   * Sets the enabled.
   *
   * @param enabled the new enabled
   */
  public void setEnabled(final Boolean enabled) {
    this.enabled = enabled;
  }

  /**
   * Sets the selectorTags.
   *
   * @param selectorTags the new selectorTags
   */
  public void setSelectorTags(final List<String> selectorTags) {
    this.selectorTags = selectorTags;
  }
}

@@ -976,16 +976,94 @@
 torTags;
+%0A  @SerializedName(%22annotated_fields%22)%0A  private List%3CString%3E annotatedFields;
 %0A%0A  /**%0A
@@ -1516,114 +1516,1147 @@
 ult.
-%0A   *%0A   * @return the selectorTags%0A   */%0A  public List%3CString%3E getSelectorTags() %7B%0A    return selectorTag
+ Only%0A   * valid if used with a collection that has **enabled** set to %60false%60 in the **smart_document_understanding** object.%0A   *%0A   * @return the selectorTags%0A   */%0A  public List%3CString%3E getSelectorTags() %7B%0A    return selectorTags;%0A  %7D%0A%0A  /**%0A   * Gets the annotatedFields.%0A   *%0A   * Defines the annotated smart document understanding fields that the document is split on. The content of the%0A   * annotated field that the segmentation splits at is used as the **title** field for that segmented result. For%0A   * example, if the field %60sub-title%60 is specified, when a document is uploaded each time the smart documement%0A   * understanding conversion encounters a field of type %60sub-title%60 the document is split at that point and the content%0A   * of the field used as the title of the remaining content. Thnis split is performed for all instances of the listed%0A   * fields in the uploaded document. Only valid if used with a collection that has **enabled** set to %60true%60 in the%0A   * **smart_document_understanding** object.%0A   *%0A   * @return the annotatedFields%0A   */%0A  public List%3CString%3E getAnnotatedFields() %7B%0A    return annotatedField
 s;%0A 
@@ -3015,11 +3015,231 @@
 ags;%0A  %7D
+%0A%0A  /**%0A   * Sets the annotatedFields.%0A   *%0A   * @param annotatedFields the new annotatedFields%0A   */%0A  public void setAnnotatedFields(final List%3CString%3E annotatedFields) %7B%0A    this.annotatedFields = annotatedFields;%0A  %7D
 %0A%7D%0A

Add annotatedFields prop to SegmentSettings