();
}
if (this.additionalOptions.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.additionalOptions.put(key, value);
return this;
}
/**
* Removes all the entries added into AdditionalOptions.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData clearAdditionalOptionsEntries() {
this.additionalOptions = null;
return this;
}
/**
*
* A SQL string used to retrieve data with the query
sourcetype.
*
*
* @param sampleQuery
* A SQL string used to retrieve data with the query
sourcetype.
*/
public void setSampleQuery(String sampleQuery) {
this.sampleQuery = sampleQuery;
}
/**
*
* A SQL string used to retrieve data with the query
sourcetype.
*
*
* @return A SQL string used to retrieve data with the query
sourcetype.
*/
public String getSampleQuery() {
return this.sampleQuery;
}
/**
*
* A SQL string used to retrieve data with the query
sourcetype.
*
*
* @param sampleQuery
* A SQL string used to retrieve data with the query
sourcetype.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withSampleQuery(String sampleQuery) {
setSampleQuery(sampleQuery);
return this;
}
/**
*
* A SQL string run before the Snowflake connector performs its standard actions.
*
*
* @param preAction
* A SQL string run before the Snowflake connector performs its standard actions.
*/
public void setPreAction(String preAction) {
this.preAction = preAction;
}
/**
*
* A SQL string run before the Snowflake connector performs its standard actions.
*
*
* @return A SQL string run before the Snowflake connector performs its standard actions.
*/
public String getPreAction() {
return this.preAction;
}
/**
*
* A SQL string run before the Snowflake connector performs its standard actions.
*
*
* @param preAction
* A SQL string run before the Snowflake connector performs its standard actions.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withPreAction(String preAction) {
setPreAction(preAction);
return this;
}
/**
*
* A SQL string run after the Snowflake connector performs its standard actions.
*
*
* @param postAction
* A SQL string run after the Snowflake connector performs its standard actions.
*/
public void setPostAction(String postAction) {
this.postAction = postAction;
}
/**
*
* A SQL string run after the Snowflake connector performs its standard actions.
*
*
* @return A SQL string run after the Snowflake connector performs its standard actions.
*/
public String getPostAction() {
return this.postAction;
}
/**
*
* A SQL string run after the Snowflake connector performs its standard actions.
*
*
* @param postAction
* A SQL string run after the Snowflake connector performs its standard actions.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withPostAction(String postAction) {
setPostAction(postAction);
return this;
}
/**
*
* Specifies what action to take when writing to a table with preexisting data. Valid values: append
,
* merge
, truncate
, drop
.
*
*
* @param action
* Specifies what action to take when writing to a table with preexisting data. Valid values:
* append
, merge
, truncate
, drop
.
*/
public void setAction(String action) {
this.action = action;
}
/**
*
* Specifies what action to take when writing to a table with preexisting data. Valid values: append
,
* merge
, truncate
, drop
.
*
*
* @return Specifies what action to take when writing to a table with preexisting data. Valid values:
* append
, merge
, truncate
, drop
.
*/
public String getAction() {
return this.action;
}
/**
*
* Specifies what action to take when writing to a table with preexisting data. Valid values: append
,
* merge
, truncate
, drop
.
*
*
* @param action
* Specifies what action to take when writing to a table with preexisting data. Valid values:
* append
, merge
, truncate
, drop
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withAction(String action) {
setAction(action);
return this;
}
/**
*
* Used when Action is append
. Specifies the resolution behavior when a row already exists. If true,
* preexisting rows will be updated. If false, those rows will be inserted.
*
*
* @param upsert
* Used when Action is append
. Specifies the resolution behavior when a row already exists. If
* true, preexisting rows will be updated. If false, those rows will be inserted.
*/
public void setUpsert(Boolean upsert) {
this.upsert = upsert;
}
/**
*
* Used when Action is append
. Specifies the resolution behavior when a row already exists. If true,
* preexisting rows will be updated. If false, those rows will be inserted.
*
*
* @return Used when Action is append
. Specifies the resolution behavior when a row already exists. If
* true, preexisting rows will be updated. If false, those rows will be inserted.
*/
public Boolean getUpsert() {
return this.upsert;
}
/**
*
* Used when Action is append
. Specifies the resolution behavior when a row already exists. If true,
* preexisting rows will be updated. If false, those rows will be inserted.
*
*
* @param upsert
* Used when Action is append
. Specifies the resolution behavior when a row already exists. If
* true, preexisting rows will be updated. If false, those rows will be inserted.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withUpsert(Boolean upsert) {
setUpsert(upsert);
return this;
}
/**
*
* Used when Action is append
. Specifies the resolution behavior when a row already exists. If true,
* preexisting rows will be updated. If false, those rows will be inserted.
*
*
* @return Used when Action is append
. Specifies the resolution behavior when a row already exists. If
* true, preexisting rows will be updated. If false, those rows will be inserted.
*/
public Boolean isUpsert() {
return this.upsert;
}
/**
*
* Specifies a merge action. Valid values: simple
, custom
. If simple, merge behavior is
* defined by MergeWhenMatched
and MergeWhenNotMatched
. If custom, defined by
* MergeClause
.
*
*
* @param mergeAction
* Specifies a merge action. Valid values: simple
, custom
. If simple, merge
* behavior is defined by MergeWhenMatched
and MergeWhenNotMatched
. If custom,
* defined by MergeClause
.
*/
public void setMergeAction(String mergeAction) {
this.mergeAction = mergeAction;
}
/**
*
* Specifies a merge action. Valid values: simple
, custom
. If simple, merge behavior is
* defined by MergeWhenMatched
and MergeWhenNotMatched
. If custom, defined by
* MergeClause
.
*
*
* @return Specifies a merge action. Valid values: simple
, custom
. If simple, merge
* behavior is defined by MergeWhenMatched
and MergeWhenNotMatched
. If custom,
* defined by MergeClause
.
*/
public String getMergeAction() {
return this.mergeAction;
}
/**
*
* Specifies a merge action. Valid values: simple
, custom
. If simple, merge behavior is
* defined by MergeWhenMatched
and MergeWhenNotMatched
. If custom, defined by
* MergeClause
.
*
*
* @param mergeAction
* Specifies a merge action. Valid values: simple
, custom
. If simple, merge
* behavior is defined by MergeWhenMatched
and MergeWhenNotMatched
. If custom,
* defined by MergeClause
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withMergeAction(String mergeAction) {
setMergeAction(mergeAction);
return this;
}
/**
*
* Specifies how to resolve records that match preexisting data when merging. Valid values: update
,
* delete
.
*
*
* @param mergeWhenMatched
* Specifies how to resolve records that match preexisting data when merging. Valid values:
* update
, delete
.
*/
public void setMergeWhenMatched(String mergeWhenMatched) {
this.mergeWhenMatched = mergeWhenMatched;
}
/**
*
* Specifies how to resolve records that match preexisting data when merging. Valid values: update
,
* delete
.
*
*
* @return Specifies how to resolve records that match preexisting data when merging. Valid values:
* update
, delete
.
*/
public String getMergeWhenMatched() {
return this.mergeWhenMatched;
}
/**
*
* Specifies how to resolve records that match preexisting data when merging. Valid values: update
,
* delete
.
*
*
* @param mergeWhenMatched
* Specifies how to resolve records that match preexisting data when merging. Valid values:
* update
, delete
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withMergeWhenMatched(String mergeWhenMatched) {
setMergeWhenMatched(mergeWhenMatched);
return this;
}
/**
*
* Specifies how to process records that do not match preexisting data when merging. Valid values:
* insert
, none
.
*
*
* @param mergeWhenNotMatched
* Specifies how to process records that do not match preexisting data when merging. Valid values:
* insert
, none
.
*/
public void setMergeWhenNotMatched(String mergeWhenNotMatched) {
this.mergeWhenNotMatched = mergeWhenNotMatched;
}
/**
*
* Specifies how to process records that do not match preexisting data when merging. Valid values:
* insert
, none
.
*
*
* @return Specifies how to process records that do not match preexisting data when merging. Valid values:
* insert
, none
.
*/
public String getMergeWhenNotMatched() {
return this.mergeWhenNotMatched;
}
/**
*
* Specifies how to process records that do not match preexisting data when merging. Valid values:
* insert
, none
.
*
*
* @param mergeWhenNotMatched
* Specifies how to process records that do not match preexisting data when merging. Valid values:
* insert
, none
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withMergeWhenNotMatched(String mergeWhenNotMatched) {
setMergeWhenNotMatched(mergeWhenNotMatched);
return this;
}
/**
*
* A SQL statement that specifies a custom merge behavior.
*
*
* @param mergeClause
* A SQL statement that specifies a custom merge behavior.
*/
public void setMergeClause(String mergeClause) {
this.mergeClause = mergeClause;
}
/**
*
* A SQL statement that specifies a custom merge behavior.
*
*
* @return A SQL statement that specifies a custom merge behavior.
*/
public String getMergeClause() {
return this.mergeClause;
}
/**
*
* A SQL statement that specifies a custom merge behavior.
*
*
* @param mergeClause
* A SQL statement that specifies a custom merge behavior.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withMergeClause(String mergeClause) {
setMergeClause(mergeClause);
return this;
}
/**
*
* The name of a staging table used when performing merge
or upsert append
actions. Data
* is written to this table, then moved to table
by a generated postaction.
*
*
* @param stagingTable
* The name of a staging table used when performing merge
or upsert append
actions.
* Data is written to this table, then moved to table
by a generated postaction.
*/
public void setStagingTable(String stagingTable) {
this.stagingTable = stagingTable;
}
/**
*
* The name of a staging table used when performing merge
or upsert append
actions. Data
* is written to this table, then moved to table
by a generated postaction.
*
*
* @return The name of a staging table used when performing merge
or upsert append
* actions. Data is written to this table, then moved to table
by a generated postaction.
*/
public String getStagingTable() {
return this.stagingTable;
}
/**
*
* The name of a staging table used when performing merge
or upsert append
actions. Data
* is written to this table, then moved to table
by a generated postaction.
*
*
* @param stagingTable
* The name of a staging table used when performing merge
or upsert append
actions.
* Data is written to this table, then moved to table
by a generated postaction.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withStagingTable(String stagingTable) {
setStagingTable(stagingTable);
return this;
}
/**
*
* Specifies the columns combined to identify a record when detecting matches for merges and upserts. A list of
* structures with value
, label
and description
keys. Each structure
* describes a column.
*
*
* @return Specifies the columns combined to identify a record when detecting matches for merges and upserts. A list
* of structures with value
, label
and description
keys. Each
* structure describes a column.
*/
public java.util.List getSelectedColumns() {
return selectedColumns;
}
/**
*
* Specifies the columns combined to identify a record when detecting matches for merges and upserts. A list of
* structures with value
, label
and description
keys. Each structure
* describes a column.
*
*
* @param selectedColumns
* Specifies the columns combined to identify a record when detecting matches for merges and upserts. A list
* of structures with value
, label
and description
keys. Each
* structure describes a column.
*/
public void setSelectedColumns(java.util.Collection selectedColumns) {
if (selectedColumns == null) {
this.selectedColumns = null;
return;
}
this.selectedColumns = new java.util.ArrayList (selectedColumns);
}
/**
*
* Specifies the columns combined to identify a record when detecting matches for merges and upserts. A list of
* structures with value
, label
and description
keys. Each structure
* describes a column.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSelectedColumns(java.util.Collection)} or {@link #withSelectedColumns(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param selectedColumns
* Specifies the columns combined to identify a record when detecting matches for merges and upserts. A list
* of structures with value
, label
and description
keys. Each
* structure describes a column.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withSelectedColumns(Option... selectedColumns) {
if (this.selectedColumns == null) {
setSelectedColumns(new java.util.ArrayList (selectedColumns.length));
}
for (Option ele : selectedColumns) {
this.selectedColumns.add(ele);
}
return this;
}
/**
*
* Specifies the columns combined to identify a record when detecting matches for merges and upserts. A list of
* structures with value
, label
and description
keys. Each structure
* describes a column.
*
*
* @param selectedColumns
* Specifies the columns combined to identify a record when detecting matches for merges and upserts. A list
* of structures with value
, label
and description
keys. Each
* structure describes a column.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withSelectedColumns(java.util.Collection selectedColumns) {
setSelectedColumns(selectedColumns);
return this;
}
/**
*
* Specifies whether automatic query pushdown is enabled. If pushdown is enabled, then when a query is run on Spark,
* if part of the query can be "pushed down" to the Snowflake server, it is pushed down. This improves performance
* of some queries.
*
*
* @param autoPushdown
* Specifies whether automatic query pushdown is enabled. If pushdown is enabled, then when a query is run on
* Spark, if part of the query can be "pushed down" to the Snowflake server, it is pushed down. This improves
* performance of some queries.
*/
public void setAutoPushdown(Boolean autoPushdown) {
this.autoPushdown = autoPushdown;
}
/**
*
* Specifies whether automatic query pushdown is enabled. If pushdown is enabled, then when a query is run on Spark,
* if part of the query can be "pushed down" to the Snowflake server, it is pushed down. This improves performance
* of some queries.
*
*
* @return Specifies whether automatic query pushdown is enabled. If pushdown is enabled, then when a query is run
* on Spark, if part of the query can be "pushed down" to the Snowflake server, it is pushed down. This
* improves performance of some queries.
*/
public Boolean getAutoPushdown() {
return this.autoPushdown;
}
/**
*
* Specifies whether automatic query pushdown is enabled. If pushdown is enabled, then when a query is run on Spark,
* if part of the query can be "pushed down" to the Snowflake server, it is pushed down. This improves performance
* of some queries.
*
*
* @param autoPushdown
* Specifies whether automatic query pushdown is enabled. If pushdown is enabled, then when a query is run on
* Spark, if part of the query can be "pushed down" to the Snowflake server, it is pushed down. This improves
* performance of some queries.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withAutoPushdown(Boolean autoPushdown) {
setAutoPushdown(autoPushdown);
return this;
}
/**
*
* Specifies whether automatic query pushdown is enabled. If pushdown is enabled, then when a query is run on Spark,
* if part of the query can be "pushed down" to the Snowflake server, it is pushed down. This improves performance
* of some queries.
*
*
* @return Specifies whether automatic query pushdown is enabled. If pushdown is enabled, then when a query is run
* on Spark, if part of the query can be "pushed down" to the Snowflake server, it is pushed down. This
* improves performance of some queries.
*/
public Boolean isAutoPushdown() {
return this.autoPushdown;
}
/**
*
* Manually defines the target schema for the node. A list of structures with value
,
* label
and description
keys. Each structure defines a column.
*
*
* @return Manually defines the target schema for the node. A list of structures with value
,
* label
and description
keys. Each structure defines a column.
*/
public java.util.List getTableSchema() {
return tableSchema;
}
/**
*
* Manually defines the target schema for the node. A list of structures with value
,
* label
and description
keys. Each structure defines a column.
*
*
* @param tableSchema
* Manually defines the target schema for the node. A list of structures with value
,
* label
and description
keys. Each structure defines a column.
*/
public void setTableSchema(java.util.Collection tableSchema) {
if (tableSchema == null) {
this.tableSchema = null;
return;
}
this.tableSchema = new java.util.ArrayList (tableSchema);
}
/**
*
* Manually defines the target schema for the node. A list of structures with value
,
* label
and description
keys. Each structure defines a column.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTableSchema(java.util.Collection)} or {@link #withTableSchema(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param tableSchema
* Manually defines the target schema for the node. A list of structures with value
,
* label
and description
keys. Each structure defines a column.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withTableSchema(Option... tableSchema) {
if (this.tableSchema == null) {
setTableSchema(new java.util.ArrayList (tableSchema.length));
}
for (Option ele : tableSchema) {
this.tableSchema.add(ele);
}
return this;
}
/**
*
* Manually defines the target schema for the node. A list of structures with value
,
* label
and description
keys. Each structure defines a column.
*
*
* @param tableSchema
* Manually defines the target schema for the node. A list of structures with value
,
* label
and description
keys. Each structure defines a column.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SnowflakeNodeData withTableSchema(java.util.Collection tableSchema) {
setTableSchema(tableSchema);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getSourceType() != null)
sb.append("SourceType: ").append(getSourceType()).append(",");
if (getConnection() != null)
sb.append("Connection: ").append(getConnection()).append(",");
if (getSchema() != null)
sb.append("Schema: ").append(getSchema()).append(",");
if (getTable() != null)
sb.append("Table: ").append(getTable()).append(",");
if (getDatabase() != null)
sb.append("Database: ").append(getDatabase()).append(",");
if (getTempDir() != null)
sb.append("TempDir: ").append(getTempDir()).append(",");
if (getIamRole() != null)
sb.append("IamRole: ").append(getIamRole()).append(",");
if (getAdditionalOptions() != null)
sb.append("AdditionalOptions: ").append(getAdditionalOptions()).append(",");
if (getSampleQuery() != null)
sb.append("SampleQuery: ").append(getSampleQuery()).append(",");
if (getPreAction() != null)
sb.append("PreAction: ").append(getPreAction()).append(",");
if (getPostAction() != null)
sb.append("PostAction: ").append(getPostAction()).append(",");
if (getAction() != null)
sb.append("Action: ").append(getAction()).append(",");
if (getUpsert() != null)
sb.append("Upsert: ").append(getUpsert()).append(",");
if (getMergeAction() != null)
sb.append("MergeAction: ").append(getMergeAction()).append(",");
if (getMergeWhenMatched() != null)
sb.append("MergeWhenMatched: ").append(getMergeWhenMatched()).append(",");
if (getMergeWhenNotMatched() != null)
sb.append("MergeWhenNotMatched: ").append(getMergeWhenNotMatched()).append(",");
if (getMergeClause() != null)
sb.append("MergeClause: ").append(getMergeClause()).append(",");
if (getStagingTable() != null)
sb.append("StagingTable: ").append(getStagingTable()).append(",");
if (getSelectedColumns() != null)
sb.append("SelectedColumns: ").append(getSelectedColumns()).append(",");
if (getAutoPushdown() != null)
sb.append("AutoPushdown: ").append(getAutoPushdown()).append(",");
if (getTableSchema() != null)
sb.append("TableSchema: ").append(getTableSchema());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SnowflakeNodeData == false)
return false;
SnowflakeNodeData other = (SnowflakeNodeData) obj;
if (other.getSourceType() == null ^ this.getSourceType() == null)
return false;
if (other.getSourceType() != null && other.getSourceType().equals(this.getSourceType()) == false)
return false;
if (other.getConnection() == null ^ this.getConnection() == null)
return false;
if (other.getConnection() != null && other.getConnection().equals(this.getConnection()) == false)
return false;
if (other.getSchema() == null ^ this.getSchema() == null)
return false;
if (other.getSchema() != null && other.getSchema().equals(this.getSchema()) == false)
return false;
if (other.getTable() == null ^ this.getTable() == null)
return false;
if (other.getTable() != null && other.getTable().equals(this.getTable()) == false)
return false;
if (other.getDatabase() == null ^ this.getDatabase() == null)
return false;
if (other.getDatabase() != null && other.getDatabase().equals(this.getDatabase()) == false)
return false;
if (other.getTempDir() == null ^ this.getTempDir() == null)
return false;
if (other.getTempDir() != null && other.getTempDir().equals(this.getTempDir()) == false)
return false;
if (other.getIamRole() == null ^ this.getIamRole() == null)
return false;
if (other.getIamRole() != null && other.getIamRole().equals(this.getIamRole()) == false)
return false;
if (other.getAdditionalOptions() == null ^ this.getAdditionalOptions() == null)
return false;
if (other.getAdditionalOptions() != null && other.getAdditionalOptions().equals(this.getAdditionalOptions()) == false)
return false;
if (other.getSampleQuery() == null ^ this.getSampleQuery() == null)
return false;
if (other.getSampleQuery() != null && other.getSampleQuery().equals(this.getSampleQuery()) == false)
return false;
if (other.getPreAction() == null ^ this.getPreAction() == null)
return false;
if (other.getPreAction() != null && other.getPreAction().equals(this.getPreAction()) == false)
return false;
if (other.getPostAction() == null ^ this.getPostAction() == null)
return false;
if (other.getPostAction() != null && other.getPostAction().equals(this.getPostAction()) == false)
return false;
if (other.getAction() == null ^ this.getAction() == null)
return false;
if (other.getAction() != null && other.getAction().equals(this.getAction()) == false)
return false;
if (other.getUpsert() == null ^ this.getUpsert() == null)
return false;
if (other.getUpsert() != null && other.getUpsert().equals(this.getUpsert()) == false)
return false;
if (other.getMergeAction() == null ^ this.getMergeAction() == null)
return false;
if (other.getMergeAction() != null && other.getMergeAction().equals(this.getMergeAction()) == false)
return false;
if (other.getMergeWhenMatched() == null ^ this.getMergeWhenMatched() == null)
return false;
if (other.getMergeWhenMatched() != null && other.getMergeWhenMatched().equals(this.getMergeWhenMatched()) == false)
return false;
if (other.getMergeWhenNotMatched() == null ^ this.getMergeWhenNotMatched() == null)
return false;
if (other.getMergeWhenNotMatched() != null && other.getMergeWhenNotMatched().equals(this.getMergeWhenNotMatched()) == false)
return false;
if (other.getMergeClause() == null ^ this.getMergeClause() == null)
return false;
if (other.getMergeClause() != null && other.getMergeClause().equals(this.getMergeClause()) == false)
return false;
if (other.getStagingTable() == null ^ this.getStagingTable() == null)
return false;
if (other.getStagingTable() != null && other.getStagingTable().equals(this.getStagingTable()) == false)
return false;
if (other.getSelectedColumns() == null ^ this.getSelectedColumns() == null)
return false;
if (other.getSelectedColumns() != null && other.getSelectedColumns().equals(this.getSelectedColumns()) == false)
return false;
if (other.getAutoPushdown() == null ^ this.getAutoPushdown() == null)
return false;
if (other.getAutoPushdown() != null && other.getAutoPushdown().equals(this.getAutoPushdown()) == false)
return false;
if (other.getTableSchema() == null ^ this.getTableSchema() == null)
return false;
if (other.getTableSchema() != null && other.getTableSchema().equals(this.getTableSchema()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getSourceType() == null) ? 0 : getSourceType().hashCode());
hashCode = prime * hashCode + ((getConnection() == null) ? 0 : getConnection().hashCode());
hashCode = prime * hashCode + ((getSchema() == null) ? 0 : getSchema().hashCode());
hashCode = prime * hashCode + ((getTable() == null) ? 0 : getTable().hashCode());
hashCode = prime * hashCode + ((getDatabase() == null) ? 0 : getDatabase().hashCode());
hashCode = prime * hashCode + ((getTempDir() == null) ? 0 : getTempDir().hashCode());
hashCode = prime * hashCode + ((getIamRole() == null) ? 0 : getIamRole().hashCode());
hashCode = prime * hashCode + ((getAdditionalOptions() == null) ? 0 : getAdditionalOptions().hashCode());
hashCode = prime * hashCode + ((getSampleQuery() == null) ? 0 : getSampleQuery().hashCode());
hashCode = prime * hashCode + ((getPreAction() == null) ? 0 : getPreAction().hashCode());
hashCode = prime * hashCode + ((getPostAction() == null) ? 0 : getPostAction().hashCode());
hashCode = prime * hashCode + ((getAction() == null) ? 0 : getAction().hashCode());
hashCode = prime * hashCode + ((getUpsert() == null) ? 0 : getUpsert().hashCode());
hashCode = prime * hashCode + ((getMergeAction() == null) ? 0 : getMergeAction().hashCode());
hashCode = prime * hashCode + ((getMergeWhenMatched() == null) ? 0 : getMergeWhenMatched().hashCode());
hashCode = prime * hashCode + ((getMergeWhenNotMatched() == null) ? 0 : getMergeWhenNotMatched().hashCode());
hashCode = prime * hashCode + ((getMergeClause() == null) ? 0 : getMergeClause().hashCode());
hashCode = prime * hashCode + ((getStagingTable() == null) ? 0 : getStagingTable().hashCode());
hashCode = prime * hashCode + ((getSelectedColumns() == null) ? 0 : getSelectedColumns().hashCode());
hashCode = prime * hashCode + ((getAutoPushdown() == null) ? 0 : getAutoPushdown().hashCode());
hashCode = prime * hashCode + ((getTableSchema() == null) ? 0 : getTableSchema().hashCode());
return hashCode;
}
@Override
public SnowflakeNodeData clone() {
try {
return (SnowflakeNodeData) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.glue.model.transform.SnowflakeNodeDataMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}