/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. 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. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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.amazonaws.services.macie2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Specifies the location of 1-15 occurrences of sensitive data that was detected by a managed data identifier or a * custom data identifier and produced a sensitive data finding. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Occurrences implements Serializable, Cloneable, StructuredPojo { /** ** An array of objects, one for each occurrence of sensitive data in a Microsoft Excel workbook, CSV file, or TSV * file. This value is null for all other types of files. *
** Each Cell object specifies a cell or field that contains the sensitive data. *
*/ private java.util.List* An array of objects, one for each occurrence of sensitive data in an email message or a non-binary text file such * as an HTML, TXT, or XML file. Each Range object specifies a line or inclusive range of lines that contains the * sensitive data, and the position of the data on the specified line or lines. *
** This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions are the * location of sensitive data in: unstructured sections of an otherwise structured file, such as a comment in a * file; a malformed file that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any column names * that contain sensitive data. *
*/ private java.util.List* Reserved for future use. *
*/ private java.util.List* An array of objects, one for each occurrence of sensitive data in an Adobe Portable Document Format file. This * value is null for all other types of files. *
** Each Page object specifies a page that contains the sensitive data. *
*/ private java.util.List* An array of objects, one for each occurrence of sensitive data in an Apache Avro object container, Apache Parquet * file, JSON file, or JSON Lines file. This value is null for all other types of files. *
** For an Avro object container or Parquet file, each Record object specifies a record index and the path to a field * in a record that contains the sensitive data. For a JSON or JSON Lines file, each Record object specifies the * path to a field or array that contains the sensitive data. For a JSON Lines file, it also specifies the index of * the line that contains the data. *
*/ private java.util.List* An array of objects, one for each occurrence of sensitive data in a Microsoft Excel workbook, CSV file, or TSV * file. This value is null for all other types of files. *
** Each Cell object specifies a cell or field that contains the sensitive data. *
* * @return An array of objects, one for each occurrence of sensitive data in a Microsoft Excel workbook, CSV file, * or TSV file. This value is null for all other types of files. *
     *         Each Cell object specifies a cell or field that contains the sensitive data.
     */
    public java.util.List 
     * An array of objects, one for each occurrence of sensitive data in a Microsoft Excel workbook, CSV file, or TSV
     * file. This value is null for all other types of files.
     *  
     * Each Cell object specifies a cell or field that contains the sensitive data.
     * 
     *        Each Cell object specifies a cell or field that contains the sensitive data.
     */
    public void setCells(java.util.Collection 
     * An array of objects, one for each occurrence of sensitive data in a Microsoft Excel workbook, CSV file, or TSV
     * file. This value is null for all other types of files.
     *  
     * Each Cell object specifies a cell or field that contains the sensitive data.
     *  
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setCells(java.util.Collection)} or {@link #withCells(java.util.Collection)} if you want to override the
     * existing values.
     * 
     *        Each Cell object specifies a cell or field that contains the sensitive data.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Occurrences withCells(Cell... cells) {
        if (this.cells == null) {
            setCells(new java.util.ArrayList 
     * An array of objects, one for each occurrence of sensitive data in a Microsoft Excel workbook, CSV file, or TSV
     * file. This value is null for all other types of files.
     *  
     * Each Cell object specifies a cell or field that contains the sensitive data.
     * 
     *        Each Cell object specifies a cell or field that contains the sensitive data.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Occurrences withCells(java.util.Collection 
     * An array of objects, one for each occurrence of sensitive data in an email message or a non-binary text file such
     * as an HTML, TXT, or XML file. Each Range object specifies a line or inclusive range of lines that contains the
     * sensitive data, and the position of the data on the specified line or lines.
     *  
     * This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions are the
     * location of sensitive data in: unstructured sections of an otherwise structured file, such as a comment in a
     * file; a malformed file that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any column names
     * that contain sensitive data.
     * 
     *         This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions
     *         are the location of sensitive data in: unstructured sections of an otherwise structured file, such as a
     *         comment in a file; a malformed file that Amazon Macie analyzes as plain text; and, a CSV or TSV file that
     *         has any column names that contain sensitive data.
     */
    public java.util.List 
     * An array of objects, one for each occurrence of sensitive data in an email message or a non-binary text file such
     * as an HTML, TXT, or XML file. Each Range object specifies a line or inclusive range of lines that contains the
     * sensitive data, and the position of the data on the specified line or lines.
     *  
     * This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions are the
     * location of sensitive data in: unstructured sections of an otherwise structured file, such as a comment in a
     * file; a malformed file that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any column names
     * that contain sensitive data.
     * 
     *        This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions
     *        are the location of sensitive data in: unstructured sections of an otherwise structured file, such as a
     *        comment in a file; a malformed file that Amazon Macie analyzes as plain text; and, a CSV or TSV file that
     *        has any column names that contain sensitive data.
     */
    public void setLineRanges(java.util.Collection 
     * An array of objects, one for each occurrence of sensitive data in an email message or a non-binary text file such
     * as an HTML, TXT, or XML file. Each Range object specifies a line or inclusive range of lines that contains the
     * sensitive data, and the position of the data on the specified line or lines.
     *  
     * This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions are the
     * location of sensitive data in: unstructured sections of an otherwise structured file, such as a comment in a
     * file; a malformed file that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any column names
     * that contain sensitive data.
     *  
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setLineRanges(java.util.Collection)} or {@link #withLineRanges(java.util.Collection)} if you want to
     * override the existing values.
     * 
     *        This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions
     *        are the location of sensitive data in: unstructured sections of an otherwise structured file, such as a
     *        comment in a file; a malformed file that Amazon Macie analyzes as plain text; and, a CSV or TSV file that
     *        has any column names that contain sensitive data.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Occurrences withLineRanges(Range... lineRanges) {
        if (this.lineRanges == null) {
            setLineRanges(new java.util.ArrayList 
     * An array of objects, one for each occurrence of sensitive data in an email message or a non-binary text file such
     * as an HTML, TXT, or XML file. Each Range object specifies a line or inclusive range of lines that contains the
     * sensitive data, and the position of the data on the specified line or lines.
     *  
     * This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions are the
     * location of sensitive data in: unstructured sections of an otherwise structured file, such as a comment in a
     * file; a malformed file that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any column names
     * that contain sensitive data.
     * 
     *        This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions
     *        are the location of sensitive data in: unstructured sections of an otherwise structured file, such as a
     *        comment in a file; a malformed file that Amazon Macie analyzes as plain text; and, a CSV or TSV file that
     *        has any column names that contain sensitive data.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Occurrences withLineRanges(java.util.Collection 
     * Reserved for future use.
     *  
     *         Reserved for future use.
     *          
     * Reserved for future use.
     *  
     *        Reserved for future use.
     *         
     * Reserved for future use.
     *  
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setOffsetRanges(java.util.Collection)} or {@link #withOffsetRanges(java.util.Collection)} if you want to
     * override the existing values.
     *  
     *        Reserved for future use.
     *         
     * Reserved for future use.
     *  
     *        Reserved for future use.
     *         
     * An array of objects, one for each occurrence of sensitive data in an Adobe Portable Document Format file. This
     * value is null for all other types of files.
     *  
     * Each Page object specifies a page that contains the sensitive data.
     * 
     *         Each Page object specifies a page that contains the sensitive data.
     */
    public java.util.List 
     * An array of objects, one for each occurrence of sensitive data in an Adobe Portable Document Format file. This
     * value is null for all other types of files.
     *  
     * Each Page object specifies a page that contains the sensitive data.
     * 
     *        Each Page object specifies a page that contains the sensitive data.
     */
    public void setPages(java.util.Collection 
     * An array of objects, one for each occurrence of sensitive data in an Adobe Portable Document Format file. This
     * value is null for all other types of files.
     *  
     * Each Page object specifies a page that contains the sensitive data.
     *  
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setPages(java.util.Collection)} or {@link #withPages(java.util.Collection)} if you want to override the
     * existing values.
     * 
     *        Each Page object specifies a page that contains the sensitive data.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Occurrences withPages(Page... pages) {
        if (this.pages == null) {
            setPages(new java.util.ArrayList 
     * An array of objects, one for each occurrence of sensitive data in an Adobe Portable Document Format file. This
     * value is null for all other types of files.
     *  
     * Each Page object specifies a page that contains the sensitive data.
     * 
     *        Each Page object specifies a page that contains the sensitive data.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Occurrences withPages(java.util.Collection 
     * An array of objects, one for each occurrence of sensitive data in an Apache Avro object container, Apache Parquet
     * file, JSON file, or JSON Lines file. This value is null for all other types of files.
     *  
     * For an Avro object container or Parquet file, each Record object specifies a record index and the path to a field
     * in a record that contains the sensitive data. For a JSON or JSON Lines file, each Record object specifies the
     * path to a field or array that contains the sensitive data. For a JSON Lines file, it also specifies the index of
     * the line that contains the data.
     * 
     *         For an Avro object container or Parquet file, each Record object specifies a record index and the path to
     *         a field in a record that contains the sensitive data. For a JSON or JSON Lines file, each Record object
     *         specifies the path to a field or array that contains the sensitive data. For a JSON Lines file, it also
     *         specifies the index of the line that contains the data.
     */
    public java.util.List 
     * An array of objects, one for each occurrence of sensitive data in an Apache Avro object container, Apache Parquet
     * file, JSON file, or JSON Lines file. This value is null for all other types of files.
     *  
     * For an Avro object container or Parquet file, each Record object specifies a record index and the path to a field
     * in a record that contains the sensitive data. For a JSON or JSON Lines file, each Record object specifies the
     * path to a field or array that contains the sensitive data. For a JSON Lines file, it also specifies the index of
     * the line that contains the data.
     * 
     *        For an Avro object container or Parquet file, each Record object specifies a record index and the path to
     *        a field in a record that contains the sensitive data. For a JSON or JSON Lines file, each Record object
     *        specifies the path to a field or array that contains the sensitive data. For a JSON Lines file, it also
     *        specifies the index of the line that contains the data.
     */
    public void setRecords(java.util.Collection 
     * An array of objects, one for each occurrence of sensitive data in an Apache Avro object container, Apache Parquet
     * file, JSON file, or JSON Lines file. This value is null for all other types of files.
     *  
     * For an Avro object container or Parquet file, each Record object specifies a record index and the path to a field
     * in a record that contains the sensitive data. For a JSON or JSON Lines file, each Record object specifies the
     * path to a field or array that contains the sensitive data. For a JSON Lines file, it also specifies the index of
     * the line that contains the data.
     *  
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setRecords(java.util.Collection)} or {@link #withRecords(java.util.Collection)} if you want to override
     * the existing values.
     * 
     *        For an Avro object container or Parquet file, each Record object specifies a record index and the path to
     *        a field in a record that contains the sensitive data. For a JSON or JSON Lines file, each Record object
     *        specifies the path to a field or array that contains the sensitive data. For a JSON Lines file, it also
     *        specifies the index of the line that contains the data.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Occurrences withRecords(Record... records) {
        if (this.records == null) {
            setRecords(new java.util.ArrayList 
     * An array of objects, one for each occurrence of sensitive data in an Apache Avro object container, Apache Parquet
     * file, JSON file, or JSON Lines file. This value is null for all other types of files.
     *  
     * For an Avro object container or Parquet file, each Record object specifies a record index and the path to a field
     * in a record that contains the sensitive data. For a JSON or JSON Lines file, each Record object specifies the
     * path to a field or array that contains the sensitive data. For a JSON Lines file, it also specifies the index of
     * the line that contains the data.
     * 
     *        For an Avro object container or Parquet file, each Record object specifies a record index and the path to
     *        a field in a record that contains the sensitive data. For a JSON or JSON Lines file, each Record object
     *        specifies the path to a field or array that contains the sensitive data. For a JSON Lines file, it also
     *        specifies the index of the line that contains the data.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Occurrences withRecords(java.util.Collection