/* * 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.appsync.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Describes a resolver. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Resolver implements Serializable, Cloneable, StructuredPojo { /** ** The resolver type name. *
*/ private String typeName; /** ** The resolver field name. *
*/ private String fieldName; /** ** The resolver data source name. *
*/ private String dataSourceName; /** ** The resolver Amazon Resource Name (ARN). *
*/ private String resolverArn; /** ** The request mapping template. *
*/ private String requestMappingTemplate; /** ** The response mapping template. *
*/ private String responseMappingTemplate; /** ** The resolver type. *
** UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to * run a GraphQL query against a single data source. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* The PipelineConfig
.
*
* The SyncConfig
for a resolver attached to a versioned data source.
*
* The caching configuration for the resolver. *
*/ private CachingConfig cachingConfig; /** ** The maximum batching size for a resolver. *
*/ private Integer maxBatchSize; private AppSyncRuntime runtime; /** *
* The resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*
* The resolver type name. *
* * @param typeName * The resolver type name. */ public void setTypeName(String typeName) { this.typeName = typeName; } /** ** The resolver type name. *
* * @return The resolver type name. */ public String getTypeName() { return this.typeName; } /** ** The resolver type name. *
* * @param typeName * The resolver type name. * @return Returns a reference to this object so that method calls can be chained together. */ public Resolver withTypeName(String typeName) { setTypeName(typeName); return this; } /** ** The resolver field name. *
* * @param fieldName * The resolver field name. */ public void setFieldName(String fieldName) { this.fieldName = fieldName; } /** ** The resolver field name. *
* * @return The resolver field name. */ public String getFieldName() { return this.fieldName; } /** ** The resolver field name. *
* * @param fieldName * The resolver field name. * @return Returns a reference to this object so that method calls can be chained together. */ public Resolver withFieldName(String fieldName) { setFieldName(fieldName); return this; } /** ** The resolver data source name. *
* * @param dataSourceName * The resolver data source name. */ public void setDataSourceName(String dataSourceName) { this.dataSourceName = dataSourceName; } /** ** The resolver data source name. *
* * @return The resolver data source name. */ public String getDataSourceName() { return this.dataSourceName; } /** ** The resolver data source name. *
* * @param dataSourceName * The resolver data source name. * @return Returns a reference to this object so that method calls can be chained together. */ public Resolver withDataSourceName(String dataSourceName) { setDataSourceName(dataSourceName); return this; } /** ** The resolver Amazon Resource Name (ARN). *
* * @param resolverArn * The resolver Amazon Resource Name (ARN). */ public void setResolverArn(String resolverArn) { this.resolverArn = resolverArn; } /** ** The resolver Amazon Resource Name (ARN). *
* * @return The resolver Amazon Resource Name (ARN). */ public String getResolverArn() { return this.resolverArn; } /** ** The resolver Amazon Resource Name (ARN). *
* * @param resolverArn * The resolver Amazon Resource Name (ARN). * @return Returns a reference to this object so that method calls can be chained together. */ public Resolver withResolverArn(String resolverArn) { setResolverArn(resolverArn); return this; } /** ** The request mapping template. *
* * @param requestMappingTemplate * The request mapping template. */ public void setRequestMappingTemplate(String requestMappingTemplate) { this.requestMappingTemplate = requestMappingTemplate; } /** ** The request mapping template. *
* * @return The request mapping template. */ public String getRequestMappingTemplate() { return this.requestMappingTemplate; } /** ** The request mapping template. *
* * @param requestMappingTemplate * The request mapping template. * @return Returns a reference to this object so that method calls can be chained together. */ public Resolver withRequestMappingTemplate(String requestMappingTemplate) { setRequestMappingTemplate(requestMappingTemplate); return this; } /** ** The response mapping template. *
* * @param responseMappingTemplate * The response mapping template. */ public void setResponseMappingTemplate(String responseMappingTemplate) { this.responseMappingTemplate = responseMappingTemplate; } /** ** The response mapping template. *
* * @return The response mapping template. */ public String getResponseMappingTemplate() { return this.responseMappingTemplate; } /** ** The response mapping template. *
* * @param responseMappingTemplate * The response mapping template. * @return Returns a reference to this object so that method calls can be chained together. */ public Resolver withResponseMappingTemplate(String responseMappingTemplate) { setResponseMappingTemplate(responseMappingTemplate); return this; } /** ** The resolver type. *
** UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to * run a GraphQL query against a single data source. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT * resolver to run a GraphQL query against a single data source. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query
* against multiple data sources.
*
* The resolver type. *
** UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to * run a GraphQL query against a single data source. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT * resolver to run a GraphQL query against a single data source. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query
* against multiple data sources.
*
* The resolver type. *
** UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to * run a GraphQL query against a single data source. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT * resolver to run a GraphQL query against a single data source. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query
* against multiple data sources.
*
* The resolver type. *
** UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to * run a GraphQL query against a single data source. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT * resolver to run a GraphQL query against a single data source. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query
* against multiple data sources.
*
* The PipelineConfig
.
*
PipelineConfig
.
*/
public void setPipelineConfig(PipelineConfig pipelineConfig) {
this.pipelineConfig = pipelineConfig;
}
/**
*
* The PipelineConfig
.
*
PipelineConfig
.
*/
public PipelineConfig getPipelineConfig() {
return this.pipelineConfig;
}
/**
*
* The PipelineConfig
.
*
PipelineConfig
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Resolver withPipelineConfig(PipelineConfig pipelineConfig) {
setPipelineConfig(pipelineConfig);
return this;
}
/**
*
* The SyncConfig
for a resolver attached to a versioned data source.
*
SyncConfig
for a resolver attached to a versioned data source.
*/
public void setSyncConfig(SyncConfig syncConfig) {
this.syncConfig = syncConfig;
}
/**
*
* The SyncConfig
for a resolver attached to a versioned data source.
*
SyncConfig
for a resolver attached to a versioned data source.
*/
public SyncConfig getSyncConfig() {
return this.syncConfig;
}
/**
*
* The SyncConfig
for a resolver attached to a versioned data source.
*
SyncConfig
for a resolver attached to a versioned data source.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Resolver withSyncConfig(SyncConfig syncConfig) {
setSyncConfig(syncConfig);
return this;
}
/**
* * The caching configuration for the resolver. *
* * @param cachingConfig * The caching configuration for the resolver. */ public void setCachingConfig(CachingConfig cachingConfig) { this.cachingConfig = cachingConfig; } /** ** The caching configuration for the resolver. *
* * @return The caching configuration for the resolver. */ public CachingConfig getCachingConfig() { return this.cachingConfig; } /** ** The caching configuration for the resolver. *
* * @param cachingConfig * The caching configuration for the resolver. * @return Returns a reference to this object so that method calls can be chained together. */ public Resolver withCachingConfig(CachingConfig cachingConfig) { setCachingConfig(cachingConfig); return this; } /** ** The maximum batching size for a resolver. *
* * @param maxBatchSize * The maximum batching size for a resolver. */ public void setMaxBatchSize(Integer maxBatchSize) { this.maxBatchSize = maxBatchSize; } /** ** The maximum batching size for a resolver. *
* * @return The maximum batching size for a resolver. */ public Integer getMaxBatchSize() { return this.maxBatchSize; } /** ** The maximum batching size for a resolver. *
* * @param maxBatchSize * The maximum batching size for a resolver. * @return Returns a reference to this object so that method calls can be chained together. */ public Resolver withMaxBatchSize(Integer maxBatchSize) { setMaxBatchSize(maxBatchSize); return this; } /** * @param runtime */ public void setRuntime(AppSyncRuntime runtime) { this.runtime = runtime; } /** * @return */ public AppSyncRuntime getRuntime() { return this.runtime; } /** * @param runtime * @return Returns a reference to this object so that method calls can be chained together. */ public Resolver withRuntime(AppSyncRuntime runtime) { setRuntime(runtime); return this; } /** *
* The resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*
resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*/
public void setCode(String code) {
this.code = code;
}
/**
*
* The resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*
resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*/
public String getCode() {
return this.code;
}
/**
*
* The resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*
resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Resolver withCode(String code) {
setCode(code);
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 (getTypeName() != null)
sb.append("TypeName: ").append(getTypeName()).append(",");
if (getFieldName() != null)
sb.append("FieldName: ").append(getFieldName()).append(",");
if (getDataSourceName() != null)
sb.append("DataSourceName: ").append(getDataSourceName()).append(",");
if (getResolverArn() != null)
sb.append("ResolverArn: ").append(getResolverArn()).append(",");
if (getRequestMappingTemplate() != null)
sb.append("RequestMappingTemplate: ").append(getRequestMappingTemplate()).append(",");
if (getResponseMappingTemplate() != null)
sb.append("ResponseMappingTemplate: ").append(getResponseMappingTemplate()).append(",");
if (getKind() != null)
sb.append("Kind: ").append(getKind()).append(",");
if (getPipelineConfig() != null)
sb.append("PipelineConfig: ").append(getPipelineConfig()).append(",");
if (getSyncConfig() != null)
sb.append("SyncConfig: ").append(getSyncConfig()).append(",");
if (getCachingConfig() != null)
sb.append("CachingConfig: ").append(getCachingConfig()).append(",");
if (getMaxBatchSize() != null)
sb.append("MaxBatchSize: ").append(getMaxBatchSize()).append(",");
if (getRuntime() != null)
sb.append("Runtime: ").append(getRuntime()).append(",");
if (getCode() != null)
sb.append("Code: ").append(getCode());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof Resolver == false)
return false;
Resolver other = (Resolver) obj;
if (other.getTypeName() == null ^ this.getTypeName() == null)
return false;
if (other.getTypeName() != null && other.getTypeName().equals(this.getTypeName()) == false)
return false;
if (other.getFieldName() == null ^ this.getFieldName() == null)
return false;
if (other.getFieldName() != null && other.getFieldName().equals(this.getFieldName()) == false)
return false;
if (other.getDataSourceName() == null ^ this.getDataSourceName() == null)
return false;
if (other.getDataSourceName() != null && other.getDataSourceName().equals(this.getDataSourceName()) == false)
return false;
if (other.getResolverArn() == null ^ this.getResolverArn() == null)
return false;
if (other.getResolverArn() != null && other.getResolverArn().equals(this.getResolverArn()) == false)
return false;
if (other.getRequestMappingTemplate() == null ^ this.getRequestMappingTemplate() == null)
return false;
if (other.getRequestMappingTemplate() != null && other.getRequestMappingTemplate().equals(this.getRequestMappingTemplate()) == false)
return false;
if (other.getResponseMappingTemplate() == null ^ this.getResponseMappingTemplate() == null)
return false;
if (other.getResponseMappingTemplate() != null && other.getResponseMappingTemplate().equals(this.getResponseMappingTemplate()) == false)
return false;
if (other.getKind() == null ^ this.getKind() == null)
return false;
if (other.getKind() != null && other.getKind().equals(this.getKind()) == false)
return false;
if (other.getPipelineConfig() == null ^ this.getPipelineConfig() == null)
return false;
if (other.getPipelineConfig() != null && other.getPipelineConfig().equals(this.getPipelineConfig()) == false)
return false;
if (other.getSyncConfig() == null ^ this.getSyncConfig() == null)
return false;
if (other.getSyncConfig() != null && other.getSyncConfig().equals(this.getSyncConfig()) == false)
return false;
if (other.getCachingConfig() == null ^ this.getCachingConfig() == null)
return false;
if (other.getCachingConfig() != null && other.getCachingConfig().equals(this.getCachingConfig()) == false)
return false;
if (other.getMaxBatchSize() == null ^ this.getMaxBatchSize() == null)
return false;
if (other.getMaxBatchSize() != null && other.getMaxBatchSize().equals(this.getMaxBatchSize()) == false)
return false;
if (other.getRuntime() == null ^ this.getRuntime() == null)
return false;
if (other.getRuntime() != null && other.getRuntime().equals(this.getRuntime()) == false)
return false;
if (other.getCode() == null ^ this.getCode() == null)
return false;
if (other.getCode() != null && other.getCode().equals(this.getCode()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getTypeName() == null) ? 0 : getTypeName().hashCode());
hashCode = prime * hashCode + ((getFieldName() == null) ? 0 : getFieldName().hashCode());
hashCode = prime * hashCode + ((getDataSourceName() == null) ? 0 : getDataSourceName().hashCode());
hashCode = prime * hashCode + ((getResolverArn() == null) ? 0 : getResolverArn().hashCode());
hashCode = prime * hashCode + ((getRequestMappingTemplate() == null) ? 0 : getRequestMappingTemplate().hashCode());
hashCode = prime * hashCode + ((getResponseMappingTemplate() == null) ? 0 : getResponseMappingTemplate().hashCode());
hashCode = prime * hashCode + ((getKind() == null) ? 0 : getKind().hashCode());
hashCode = prime * hashCode + ((getPipelineConfig() == null) ? 0 : getPipelineConfig().hashCode());
hashCode = prime * hashCode + ((getSyncConfig() == null) ? 0 : getSyncConfig().hashCode());
hashCode = prime * hashCode + ((getCachingConfig() == null) ? 0 : getCachingConfig().hashCode());
hashCode = prime * hashCode + ((getMaxBatchSize() == null) ? 0 : getMaxBatchSize().hashCode());
hashCode = prime * hashCode + ((getRuntime() == null) ? 0 : getRuntime().hashCode());
hashCode = prime * hashCode + ((getCode() == null) ? 0 : getCode().hashCode());
return hashCode;
}
@Override
public Resolver clone() {
try {
return (Resolver) 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.appsync.model.transform.ResolverMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}