/* * 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.cleanrooms.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Enables query structure and specified queries that produce aggregate statistics. *
* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AnalysisRuleAggregation implements Serializable, Cloneable, StructuredPojo { /** ** The columns that query runners are allowed to use in aggregation queries. *
*/ private java.util.List* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be * outputted directly. *
*/ private java.util.List* Control that requires member who runs query to do a join with their configured table and/or other configured * table in query. *
*/ private String joinRequired; /** *
* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND
.
*
* The columns that query runners are allowed to select, group by, or filter by. *
*/ private java.util.List* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. *
*/ private java.util.List* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each * output row to be returned. *
*/ private java.util.List* The columns that query runners are allowed to use in aggregation queries. *
* * @return The columns that query runners are allowed to use in aggregation queries. */ public java.util.List* The columns that query runners are allowed to use in aggregation queries. *
* * @param aggregateColumns * The columns that query runners are allowed to use in aggregation queries. */ public void setAggregateColumns(java.util.Collection* The columns that query runners are allowed to use in aggregation queries. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAggregateColumns(java.util.Collection)} or {@link #withAggregateColumns(java.util.Collection)} if you * want to override the existing values. *
* * @param aggregateColumns * The columns that query runners are allowed to use in aggregation queries. * @return Returns a reference to this object so that method calls can be chained together. */ public AnalysisRuleAggregation withAggregateColumns(AggregateColumn... aggregateColumns) { if (this.aggregateColumns == null) { setAggregateColumns(new java.util.ArrayList* The columns that query runners are allowed to use in aggregation queries. *
* * @param aggregateColumns * The columns that query runners are allowed to use in aggregation queries. * @return Returns a reference to this object so that method calls can be chained together. */ public AnalysisRuleAggregation withAggregateColumns(java.util.Collection* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be * outputted directly. *
* * @return Columns in configured table that can be used in join statements and/or as aggregate columns. They can * never be outputted directly. */ public java.util.List* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be * outputted directly. *
* * @param joinColumns * Columns in configured table that can be used in join statements and/or as aggregate columns. They can * never be outputted directly. */ public void setJoinColumns(java.util.Collection* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be * outputted directly. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setJoinColumns(java.util.Collection)} or {@link #withJoinColumns(java.util.Collection)} if you want to * override the existing values. *
* * @param joinColumns * Columns in configured table that can be used in join statements and/or as aggregate columns. They can * never be outputted directly. * @return Returns a reference to this object so that method calls can be chained together. */ public AnalysisRuleAggregation withJoinColumns(String... joinColumns) { if (this.joinColumns == null) { setJoinColumns(new java.util.ArrayList* Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be * outputted directly. *
* * @param joinColumns * Columns in configured table that can be used in join statements and/or as aggregate columns. They can * never be outputted directly. * @return Returns a reference to this object so that method calls can be chained together. */ public AnalysisRuleAggregation withJoinColumns(java.util.Collection* Control that requires member who runs query to do a join with their configured table and/or other configured * table in query. *
* * @param joinRequired * Control that requires member who runs query to do a join with their configured table and/or other * configured table in query. * @see JoinRequiredOption */ public void setJoinRequired(String joinRequired) { this.joinRequired = joinRequired; } /** ** Control that requires member who runs query to do a join with their configured table and/or other configured * table in query. *
* * @return Control that requires member who runs query to do a join with their configured table and/or other * configured table in query. * @see JoinRequiredOption */ public String getJoinRequired() { return this.joinRequired; } /** ** Control that requires member who runs query to do a join with their configured table and/or other configured * table in query. *
* * @param joinRequired * Control that requires member who runs query to do a join with their configured table and/or other * configured table in query. * @return Returns a reference to this object so that method calls can be chained together. * @see JoinRequiredOption */ public AnalysisRuleAggregation withJoinRequired(String joinRequired) { setJoinRequired(joinRequired); return this; } /** ** Control that requires member who runs query to do a join with their configured table and/or other configured * table in query. *
* * @param joinRequired * Control that requires member who runs query to do a join with their configured table and/or other * configured table in query. * @return Returns a reference to this object so that method calls can be chained together. * @see JoinRequiredOption */ public AnalysisRuleAggregation withJoinRequired(JoinRequiredOption joinRequired) { this.joinRequired = joinRequired.toString(); return this; } /** *
* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND
.
*
AND
.
* @see JoinOperator
*/
public java.util.List
* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND
.
*
AND
.
* @see JoinOperator
*/
public void setAllowedJoinOperators(java.util.Collection
* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND
.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAllowedJoinOperators(java.util.Collection)} or {@link #withAllowedJoinOperators(java.util.Collection)} * if you want to override the existing values. *
* * @param allowedJoinOperators * Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is *AND
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see JoinOperator
*/
public AnalysisRuleAggregation withAllowedJoinOperators(String... allowedJoinOperators) {
if (this.allowedJoinOperators == null) {
setAllowedJoinOperators(new java.util.ArrayList
* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND
.
*
AND
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see JoinOperator
*/
public AnalysisRuleAggregation withAllowedJoinOperators(java.util.Collection
* Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND
.
*
AND
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see JoinOperator
*/
public AnalysisRuleAggregation withAllowedJoinOperators(JoinOperator... allowedJoinOperators) {
java.util.ArrayList* The columns that query runners are allowed to select, group by, or filter by. *
* * @return The columns that query runners are allowed to select, group by, or filter by. */ public java.util.List* The columns that query runners are allowed to select, group by, or filter by. *
* * @param dimensionColumns * The columns that query runners are allowed to select, group by, or filter by. */ public void setDimensionColumns(java.util.Collection* The columns that query runners are allowed to select, group by, or filter by. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setDimensionColumns(java.util.Collection)} or {@link #withDimensionColumns(java.util.Collection)} if you * want to override the existing values. *
* * @param dimensionColumns * The columns that query runners are allowed to select, group by, or filter by. * @return Returns a reference to this object so that method calls can be chained together. */ public AnalysisRuleAggregation withDimensionColumns(String... dimensionColumns) { if (this.dimensionColumns == null) { setDimensionColumns(new java.util.ArrayList* The columns that query runners are allowed to select, group by, or filter by. *
* * @param dimensionColumns * The columns that query runners are allowed to select, group by, or filter by. * @return Returns a reference to this object so that method calls can be chained together. */ public AnalysisRuleAggregation withDimensionColumns(java.util.Collection* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. *
* * @return Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. * @see ScalarFunctions */ public java.util.List* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. *
* * @param scalarFunctions * Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. * @see ScalarFunctions */ public void setScalarFunctions(java.util.Collection* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setScalarFunctions(java.util.Collection)} or {@link #withScalarFunctions(java.util.Collection)} if you * want to override the existing values. *
* * @param scalarFunctions * Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. * @return Returns a reference to this object so that method calls can be chained together. * @see ScalarFunctions */ public AnalysisRuleAggregation withScalarFunctions(String... scalarFunctions) { if (this.scalarFunctions == null) { setScalarFunctions(new java.util.ArrayList* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. *
* * @param scalarFunctions * Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. * @return Returns a reference to this object so that method calls can be chained together. * @see ScalarFunctions */ public AnalysisRuleAggregation withScalarFunctions(java.util.Collection* Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. *
* * @param scalarFunctions * Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of * metrics. * @return Returns a reference to this object so that method calls can be chained together. * @see ScalarFunctions */ public AnalysisRuleAggregation withScalarFunctions(ScalarFunctions... scalarFunctions) { java.util.ArrayList* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each * output row to be returned. *
* * @return Columns that must meet a specific threshold value (after an aggregation function is applied to it) for * each output row to be returned. */ public java.util.List* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each * output row to be returned. *
* * @param outputConstraints * Columns that must meet a specific threshold value (after an aggregation function is applied to it) for * each output row to be returned. */ public void setOutputConstraints(java.util.Collection* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each * output row to be returned. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setOutputConstraints(java.util.Collection)} or {@link #withOutputConstraints(java.util.Collection)} if * you want to override the existing values. *
* * @param outputConstraints * Columns that must meet a specific threshold value (after an aggregation function is applied to it) for * each output row to be returned. * @return Returns a reference to this object so that method calls can be chained together. */ public AnalysisRuleAggregation withOutputConstraints(AggregationConstraint... outputConstraints) { if (this.outputConstraints == null) { setOutputConstraints(new java.util.ArrayList* Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each * output row to be returned. *
* * @param outputConstraints * Columns that must meet a specific threshold value (after an aggregation function is applied to it) for * each output row to be returned. * @return Returns a reference to this object so that method calls can be chained together. */ public AnalysisRuleAggregation withOutputConstraints(java.util.Collection