/*
 * Copyright 2020 Google LLC
 *
 * 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
 *
 *     https://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.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/privacy/dlp/v2/dlp.proto

package com.google.privacy.dlp.v2;

public interface LocationOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.privacy.dlp.v2.Location)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * Zero-based byte offsets delimiting the finding.
   * These are relative to the finding's containing element.
   * Note that when the content is not textual, this references
   * the UTF-8 encoded textual representation of the content.
   * Omitted if content is an image.
   * </pre>
   *
   * <code>.google.privacy.dlp.v2.Range byte_range = 1;</code>
   *
   * @return Whether the byteRange field is set.
   */
  boolean hasByteRange();
  /**
   *
   *
   * <pre>
   * Zero-based byte offsets delimiting the finding.
   * These are relative to the finding's containing element.
   * Note that when the content is not textual, this references
   * the UTF-8 encoded textual representation of the content.
   * Omitted if content is an image.
   * </pre>
   *
   * <code>.google.privacy.dlp.v2.Range byte_range = 1;</code>
   *
   * @return The byteRange.
   */
  com.google.privacy.dlp.v2.Range getByteRange();
  /**
   *
   *
   * <pre>
   * Zero-based byte offsets delimiting the finding.
   * These are relative to the finding's containing element.
   * Note that when the content is not textual, this references
   * the UTF-8 encoded textual representation of the content.
   * Omitted if content is an image.
   * </pre>
   *
   * <code>.google.privacy.dlp.v2.Range byte_range = 1;</code>
   */
  com.google.privacy.dlp.v2.RangeOrBuilder getByteRangeOrBuilder();

  /**
   *
   *
   * <pre>
   * Unicode character offsets delimiting the finding.
   * These are relative to the finding's containing element.
   * Provided when the content is text.
   * </pre>
   *
   * <code>.google.privacy.dlp.v2.Range codepoint_range = 2;</code>
   *
   * @return Whether the codepointRange field is set.
   */
  boolean hasCodepointRange();
  /**
   *
   *
   * <pre>
   * Unicode character offsets delimiting the finding.
   * These are relative to the finding's containing element.
   * Provided when the content is text.
   * </pre>
   *
   * <code>.google.privacy.dlp.v2.Range codepoint_range = 2;</code>
   *
   * @return The codepointRange.
   */
  com.google.privacy.dlp.v2.Range getCodepointRange();
  /**
   *
   *
   * <pre>
   * Unicode character offsets delimiting the finding.
   * These are relative to the finding's containing element.
   * Provided when the content is text.
   * </pre>
   *
   * <code>.google.privacy.dlp.v2.Range codepoint_range = 2;</code>
   */
  com.google.privacy.dlp.v2.RangeOrBuilder getCodepointRangeOrBuilder();

  /**
   *
   *
   * <pre>
   * List of nested objects pointing to the precise location of the finding
   * within the file or record.
   * </pre>
   *
   * <code>repeated .google.privacy.dlp.v2.ContentLocation content_locations = 7;</code>
   */
  java.util.List<com.google.privacy.dlp.v2.ContentLocation> getContentLocationsList();
  /**
   *
   *
   * <pre>
   * List of nested objects pointing to the precise location of the finding
   * within the file or record.
   * </pre>
   *
   * <code>repeated .google.privacy.dlp.v2.ContentLocation content_locations = 7;</code>
   */
  com.google.privacy.dlp.v2.ContentLocation getContentLocations(int index);
  /**
   *
   *
   * <pre>
   * List of nested objects pointing to the precise location of the finding
   * within the file or record.
   * </pre>
   *
   * <code>repeated .google.privacy.dlp.v2.ContentLocation content_locations = 7;</code>
   */
  int getContentLocationsCount();
  /**
   *
   *
   * <pre>
   * List of nested objects pointing to the precise location of the finding
   * within the file or record.
   * </pre>
   *
   * <code>repeated .google.privacy.dlp.v2.ContentLocation content_locations = 7;</code>
   */
  java.util.List<? extends com.google.privacy.dlp.v2.ContentLocationOrBuilder>
      getContentLocationsOrBuilderList();
  /**
   *
   *
   * <pre>
   * List of nested objects pointing to the precise location of the finding
   * within the file or record.
   * </pre>
   *
   * <code>repeated .google.privacy.dlp.v2.ContentLocation content_locations = 7;</code>
   */
  com.google.privacy.dlp.v2.ContentLocationOrBuilder getContentLocationsOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * Information about the container where this finding occurred, if available.
   * </pre>
   *
   * <code>.google.privacy.dlp.v2.Container container = 8;</code>
   *
   * @return Whether the container field is set.
   */
  boolean hasContainer();
  /**
   *
   *
   * <pre>
   * Information about the container where this finding occurred, if available.
   * </pre>
   *
   * <code>.google.privacy.dlp.v2.Container container = 8;</code>
   *
   * @return The container.
   */
  com.google.privacy.dlp.v2.Container getContainer();
  /**
   *
   *
   * <pre>
   * Information about the container where this finding occurred, if available.
   * </pre>
   *
   * <code>.google.privacy.dlp.v2.Container container = 8;</code>
   */
  com.google.privacy.dlp.v2.ContainerOrBuilder getContainerOrBuilder();
}
