<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/privacy/dlp/v2/dlp.proto

namespace Google\Cloud\Dlp\V2;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * A type of transformation that is applied over structured data such as a
 * table.
 *
 * Generated from protobuf message <code>google.privacy.dlp.v2.RecordTransformations</code>
 */
class RecordTransformations extends \Google\Protobuf\Internal\Message
{
    /**
     * Transform the record by applying various field transformations.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2.FieldTransformation field_transformations = 1;</code>
     */
    private $field_transformations;
    /**
     * Configuration defining which records get suppressed entirely. Records that
     * match any suppression rule are omitted from the output [optional].
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2.RecordSuppression record_suppressions = 2;</code>
     */
    private $record_suppressions;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \Google\Cloud\Dlp\V2\FieldTransformation[]|\Google\Protobuf\Internal\RepeatedField $field_transformations
     *           Transform the record by applying various field transformations.
     *     @type \Google\Cloud\Dlp\V2\RecordSuppression[]|\Google\Protobuf\Internal\RepeatedField $record_suppressions
     *           Configuration defining which records get suppressed entirely. Records that
     *           match any suppression rule are omitted from the output [optional].
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Privacy\Dlp\V2\Dlp::initOnce();
        parent::__construct($data);
    }

    /**
     * Transform the record by applying various field transformations.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2.FieldTransformation field_transformations = 1;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getFieldTransformations()
    {
        return $this->field_transformations;
    }

    /**
     * Transform the record by applying various field transformations.
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2.FieldTransformation field_transformations = 1;</code>
     * @param \Google\Cloud\Dlp\V2\FieldTransformation[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setFieldTransformations($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dlp\V2\FieldTransformation::class);
        $this->field_transformations = $arr;

        return $this;
    }

    /**
     * Configuration defining which records get suppressed entirely. Records that
     * match any suppression rule are omitted from the output [optional].
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2.RecordSuppression record_suppressions = 2;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getRecordSuppressions()
    {
        return $this->record_suppressions;
    }

    /**
     * Configuration defining which records get suppressed entirely. Records that
     * match any suppression rule are omitted from the output [optional].
     *
     * Generated from protobuf field <code>repeated .google.privacy.dlp.v2.RecordSuppression record_suppressions = 2;</code>
     * @param \Google\Cloud\Dlp\V2\RecordSuppression[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setRecordSuppressions($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dlp\V2\RecordSuppression::class);
        $this->record_suppressions = $arr;

        return $this;
    }

}

