com.google.api.services.bigquery.model.MaterializedViewDefinition Maven / Gradle / Ivy
/*
* 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.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.bigquery.model;
/**
* Definition and configuration of a materialized view.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the BigQuery API. For a detailed explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class MaterializedViewDefinition extends com.google.api.client.json.GenericJson {
/**
* Optional. This option declares the intention to construct a materialized view that isn't
* refreshed incrementally.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean allowNonIncrementalDefinition;
/**
* Optional. Enable automatic refresh of the materialized view when the base table is updated. The
* default value is "true".
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean enableRefresh;
/**
* Output only. The time when this materialized view was last refreshed, in milliseconds since the
* epoch.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long lastRefreshTime;
/**
* [Optional] Max staleness of data that could be returned when materizlized view is queried
* (formatted as Google SQL Interval type).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String maxStaleness;
/**
* Required. A query whose results are persisted.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String query;
/**
* Optional. The maximum frequency at which this materialized view will be refreshed. The default
* value is "1800000" (30 minutes).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key @com.google.api.client.json.JsonString
private java.lang.Long refreshIntervalMs;
/**
* Optional. This option declares the intention to construct a materialized view that isn't
* refreshed incrementally.
* @return value or {@code null} for none
*/
public java.lang.Boolean getAllowNonIncrementalDefinition() {
return allowNonIncrementalDefinition;
}
/**
* Optional. This option declares the intention to construct a materialized view that isn't
* refreshed incrementally.
* @param allowNonIncrementalDefinition allowNonIncrementalDefinition or {@code null} for none
*/
public MaterializedViewDefinition setAllowNonIncrementalDefinition(java.lang.Boolean allowNonIncrementalDefinition) {
this.allowNonIncrementalDefinition = allowNonIncrementalDefinition;
return this;
}
/**
* Optional. Enable automatic refresh of the materialized view when the base table is updated. The
* default value is "true".
* @return value or {@code null} for none
*/
public java.lang.Boolean getEnableRefresh() {
return enableRefresh;
}
/**
* Optional. Enable automatic refresh of the materialized view when the base table is updated. The
* default value is "true".
* @param enableRefresh enableRefresh or {@code null} for none
*/
public MaterializedViewDefinition setEnableRefresh(java.lang.Boolean enableRefresh) {
this.enableRefresh = enableRefresh;
return this;
}
/**
* Output only. The time when this materialized view was last refreshed, in milliseconds since the
* epoch.
* @return value or {@code null} for none
*/
public java.lang.Long getLastRefreshTime() {
return lastRefreshTime;
}
/**
* Output only. The time when this materialized view was last refreshed, in milliseconds since the
* epoch.
* @param lastRefreshTime lastRefreshTime or {@code null} for none
*/
public MaterializedViewDefinition setLastRefreshTime(java.lang.Long lastRefreshTime) {
this.lastRefreshTime = lastRefreshTime;
return this;
}
/**
* [Optional] Max staleness of data that could be returned when materizlized view is queried
* (formatted as Google SQL Interval type).
* @see #decodeMaxStaleness()
* @return value or {@code null} for none
*/
public java.lang.String getMaxStaleness() {
return maxStaleness;
}
/**
* [Optional] Max staleness of data that could be returned when materizlized view is queried
* (formatted as Google SQL Interval type).
* @see #getMaxStaleness()
* @return Base64 decoded value or {@code null} for none
*
* @since 1.14
*/
public byte[] decodeMaxStaleness() {
return com.google.api.client.util.Base64.decodeBase64(maxStaleness);
}
/**
* [Optional] Max staleness of data that could be returned when materizlized view is queried
* (formatted as Google SQL Interval type).
* @see #encodeMaxStaleness()
* @param maxStaleness maxStaleness or {@code null} for none
*/
public MaterializedViewDefinition setMaxStaleness(java.lang.String maxStaleness) {
this.maxStaleness = maxStaleness;
return this;
}
/**
* [Optional] Max staleness of data that could be returned when materizlized view is queried
* (formatted as Google SQL Interval type).
* @see #setMaxStaleness()
*
*
* The value is encoded Base64 or {@code null} for none.
*
*
* @since 1.14
*/
public MaterializedViewDefinition encodeMaxStaleness(byte[] maxStaleness) {
this.maxStaleness = com.google.api.client.util.Base64.encodeBase64URLSafeString(maxStaleness);
return this;
}
/**
* Required. A query whose results are persisted.
* @return value or {@code null} for none
*/
public java.lang.String getQuery() {
return query;
}
/**
* Required. A query whose results are persisted.
* @param query query or {@code null} for none
*/
public MaterializedViewDefinition setQuery(java.lang.String query) {
this.query = query;
return this;
}
/**
* Optional. The maximum frequency at which this materialized view will be refreshed. The default
* value is "1800000" (30 minutes).
* @return value or {@code null} for none
*/
public java.lang.Long getRefreshIntervalMs() {
return refreshIntervalMs;
}
/**
* Optional. The maximum frequency at which this materialized view will be refreshed. The default
* value is "1800000" (30 minutes).
* @param refreshIntervalMs refreshIntervalMs or {@code null} for none
*/
public MaterializedViewDefinition setRefreshIntervalMs(java.lang.Long refreshIntervalMs) {
this.refreshIntervalMs = refreshIntervalMs;
return this;
}
@Override
public MaterializedViewDefinition set(String fieldName, Object value) {
return (MaterializedViewDefinition) super.set(fieldName, value);
}
@Override
public MaterializedViewDefinition clone() {
return (MaterializedViewDefinition) super.clone();
}
}