/* * 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.sagemakergeospatial.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** * <p> * The output structure contains the Raster Data Collection Query input along with some additional metadata. * </p> * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sagemaker-geospatial-2020-05-27/RasterDataCollectionQueryOutput" * target="_top">AWS API Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class RasterDataCollectionQueryOutput implements Serializable, Cloneable, StructuredPojo { /** * <p> * The Area of Interest used in the search. * </p> */ private AreaOfInterest areaOfInterest; /** * <p> * Property filters used in the search. * </p> */ private PropertyFilters propertyFilters; /** * <p> * The ARN of the Raster Data Collection against which the search is done. * </p> */ private String rasterDataCollectionArn; /** * <p> * The name of the raster data collection. * </p> */ private String rasterDataCollectionName; /** * <p> * The TimeRange filter used in the search. * </p> */ private TimeRangeFilterOutput timeRangeFilter; /** * <p> * The Area of Interest used in the search. * </p> * * @param areaOfInterest * The Area of Interest used in the search. */ public void setAreaOfInterest(AreaOfInterest areaOfInterest) { this.areaOfInterest = areaOfInterest; } /** * <p> * The Area of Interest used in the search. * </p> * * @return The Area of Interest used in the search. */ public AreaOfInterest getAreaOfInterest() { return this.areaOfInterest; } /** * <p> * The Area of Interest used in the search. * </p> * * @param areaOfInterest * The Area of Interest used in the search. * @return Returns a reference to this object so that method calls can be chained together. */ public RasterDataCollectionQueryOutput withAreaOfInterest(AreaOfInterest areaOfInterest) { setAreaOfInterest(areaOfInterest); return this; } /** * <p> * Property filters used in the search. * </p> * * @param propertyFilters * Property filters used in the search. */ public void setPropertyFilters(PropertyFilters propertyFilters) { this.propertyFilters = propertyFilters; } /** * <p> * Property filters used in the search. * </p> * * @return Property filters used in the search. */ public PropertyFilters getPropertyFilters() { return this.propertyFilters; } /** * <p> * Property filters used in the search. * </p> * * @param propertyFilters * Property filters used in the search. * @return Returns a reference to this object so that method calls can be chained together. */ public RasterDataCollectionQueryOutput withPropertyFilters(PropertyFilters propertyFilters) { setPropertyFilters(propertyFilters); return this; } /** * <p> * The ARN of the Raster Data Collection against which the search is done. * </p> * * @param rasterDataCollectionArn * The ARN of the Raster Data Collection against which the search is done. */ public void setRasterDataCollectionArn(String rasterDataCollectionArn) { this.rasterDataCollectionArn = rasterDataCollectionArn; } /** * <p> * The ARN of the Raster Data Collection against which the search is done. * </p> * * @return The ARN of the Raster Data Collection against which the search is done. */ public String getRasterDataCollectionArn() { return this.rasterDataCollectionArn; } /** * <p> * The ARN of the Raster Data Collection against which the search is done. * </p> * * @param rasterDataCollectionArn * The ARN of the Raster Data Collection against which the search is done. * @return Returns a reference to this object so that method calls can be chained together. */ public RasterDataCollectionQueryOutput withRasterDataCollectionArn(String rasterDataCollectionArn) { setRasterDataCollectionArn(rasterDataCollectionArn); return this; } /** * <p> * The name of the raster data collection. * </p> * * @param rasterDataCollectionName * The name of the raster data collection. */ public void setRasterDataCollectionName(String rasterDataCollectionName) { this.rasterDataCollectionName = rasterDataCollectionName; } /** * <p> * The name of the raster data collection. * </p> * * @return The name of the raster data collection. */ public String getRasterDataCollectionName() { return this.rasterDataCollectionName; } /** * <p> * The name of the raster data collection. * </p> * * @param rasterDataCollectionName * The name of the raster data collection. * @return Returns a reference to this object so that method calls can be chained together. */ public RasterDataCollectionQueryOutput withRasterDataCollectionName(String rasterDataCollectionName) { setRasterDataCollectionName(rasterDataCollectionName); return this; } /** * <p> * The TimeRange filter used in the search. * </p> * * @param timeRangeFilter * The TimeRange filter used in the search. */ public void setTimeRangeFilter(TimeRangeFilterOutput timeRangeFilter) { this.timeRangeFilter = timeRangeFilter; } /** * <p> * The TimeRange filter used in the search. * </p> * * @return The TimeRange filter used in the search. */ public TimeRangeFilterOutput getTimeRangeFilter() { return this.timeRangeFilter; } /** * <p> * The TimeRange filter used in the search. * </p> * * @param timeRangeFilter * The TimeRange filter used in the search. * @return Returns a reference to this object so that method calls can be chained together. */ public RasterDataCollectionQueryOutput withTimeRangeFilter(TimeRangeFilterOutput timeRangeFilter) { setTimeRangeFilter(timeRangeFilter); 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 (getAreaOfInterest() != null) sb.append("AreaOfInterest: ").append(getAreaOfInterest()).append(","); if (getPropertyFilters() != null) sb.append("PropertyFilters: ").append(getPropertyFilters()).append(","); if (getRasterDataCollectionArn() != null) sb.append("RasterDataCollectionArn: ").append(getRasterDataCollectionArn()).append(","); if (getRasterDataCollectionName() != null) sb.append("RasterDataCollectionName: ").append(getRasterDataCollectionName()).append(","); if (getTimeRangeFilter() != null) sb.append("TimeRangeFilter: ").append("***Sensitive Data Redacted***"); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof RasterDataCollectionQueryOutput == false) return false; RasterDataCollectionQueryOutput other = (RasterDataCollectionQueryOutput) obj; if (other.getAreaOfInterest() == null ^ this.getAreaOfInterest() == null) return false; if (other.getAreaOfInterest() != null && other.getAreaOfInterest().equals(this.getAreaOfInterest()) == false) return false; if (other.getPropertyFilters() == null ^ this.getPropertyFilters() == null) return false; if (other.getPropertyFilters() != null && other.getPropertyFilters().equals(this.getPropertyFilters()) == false) return false; if (other.getRasterDataCollectionArn() == null ^ this.getRasterDataCollectionArn() == null) return false; if (other.getRasterDataCollectionArn() != null && other.getRasterDataCollectionArn().equals(this.getRasterDataCollectionArn()) == false) return false; if (other.getRasterDataCollectionName() == null ^ this.getRasterDataCollectionName() == null) return false; if (other.getRasterDataCollectionName() != null && other.getRasterDataCollectionName().equals(this.getRasterDataCollectionName()) == false) return false; if (other.getTimeRangeFilter() == null ^ this.getTimeRangeFilter() == null) return false; if (other.getTimeRangeFilter() != null && other.getTimeRangeFilter().equals(this.getTimeRangeFilter()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAreaOfInterest() == null) ? 0 : getAreaOfInterest().hashCode()); hashCode = prime * hashCode + ((getPropertyFilters() == null) ? 0 : getPropertyFilters().hashCode()); hashCode = prime * hashCode + ((getRasterDataCollectionArn() == null) ? 0 : getRasterDataCollectionArn().hashCode()); hashCode = prime * hashCode + ((getRasterDataCollectionName() == null) ? 0 : getRasterDataCollectionName().hashCode()); hashCode = prime * hashCode + ((getTimeRangeFilter() == null) ? 0 : getTimeRangeFilter().hashCode()); return hashCode; } @Override public RasterDataCollectionQueryOutput clone() { try { return (RasterDataCollectionQueryOutput) 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.sagemakergeospatial.model.transform.RasterDataCollectionQueryOutputMarshaller.getInstance().marshall(this, protocolMarshaller); } }