/* * Copyright 2010-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.rekognition.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *

* Detects unsafe content in a specified JPEG or PNG format image. Use * DetectModerationLabels to moderate images depending on your * requirements. For example, you might want to filter images that contain * nudity, but not images containing suggestive content. *

*

* To filter images, use the labels returned by * DetectModerationLabels to determine which types of content are * appropriate. *

*

* For information about moderation labels, see Detecting Unsafe Content in the * Amazon Rekognition Developer Guide. *

*

* You pass the input image either as base64-encoded image bytes or as a * reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call * Amazon Rekognition operations, passing image bytes is not supported. The * image must be either a PNG or JPEG formatted file. *

*/ public class DetectModerationLabelsRequest extends AmazonWebServiceRequest implements Serializable { /** *

* The input image as base64-encoded bytes or an S3 object. If you use the * AWS CLI to call Amazon Rekognition operations, passing base64-encoded * image bytes is not supported. *

*

* If you are using an AWS SDK to call Amazon Rekognition, you might not * need to base64-encode image bytes passed using the Bytes * field. For more information, see Images in the Amazon Rekognition * developer guide. *

*/ private Image image; /** *

* Specifies the minimum confidence level for the labels to return. Amazon * Rekognition doesn't return any labels with a confidence level lower than * this specified value. *

*

* If you don't specify MinConfidence, the operation returns * labels with confidence values greater than or equal to 50 percent. *

*

* Constraints:
* Length: 0.0 - 100.0
*/ private Float minConfidence; /** *

* Sets up the configuration for human evaluation, including the * FlowDefinition the image will be sent to. *

*/ private HumanLoopConfig humanLoopConfig; /** * Default constructor for DetectModerationLabelsRequest object. Callers * should use the setter or fluent setter (with...) methods to initialize * any additional object members. */ public DetectModerationLabelsRequest() { } /** * Constructs a new DetectModerationLabelsRequest object. Callers should use * the setter or fluent setter (with...) methods to initialize any * additional object members. * * @param image

* The input image as base64-encoded bytes or an S3 object. If * you use the AWS CLI to call Amazon Rekognition operations, * passing base64-encoded image bytes is not supported. *

*

* If you are using an AWS SDK to call Amazon Rekognition, you * might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in * the Amazon Rekognition developer guide. *

*/ public DetectModerationLabelsRequest(Image image) { setImage(image); } /** *

* The input image as base64-encoded bytes or an S3 object. If you use the * AWS CLI to call Amazon Rekognition operations, passing base64-encoded * image bytes is not supported. *

*

* If you are using an AWS SDK to call Amazon Rekognition, you might not * need to base64-encode image bytes passed using the Bytes * field. For more information, see Images in the Amazon Rekognition * developer guide. *

* * @return

* The input image as base64-encoded bytes or an S3 object. If you * use the AWS CLI to call Amazon Rekognition operations, passing * base64-encoded image bytes is not supported. *

*

* If you are using an AWS SDK to call Amazon Rekognition, you might * not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in the * Amazon Rekognition developer guide. *

*/ public Image getImage() { return image; } /** *

* The input image as base64-encoded bytes or an S3 object. If you use the * AWS CLI to call Amazon Rekognition operations, passing base64-encoded * image bytes is not supported. *

*

* If you are using an AWS SDK to call Amazon Rekognition, you might not * need to base64-encode image bytes passed using the Bytes * field. For more information, see Images in the Amazon Rekognition * developer guide. *

* * @param image

* The input image as base64-encoded bytes or an S3 object. If * you use the AWS CLI to call Amazon Rekognition operations, * passing base64-encoded image bytes is not supported. *

*

* If you are using an AWS SDK to call Amazon Rekognition, you * might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in * the Amazon Rekognition developer guide. *

*/ public void setImage(Image image) { this.image = image; } /** *

* The input image as base64-encoded bytes or an S3 object. If you use the * AWS CLI to call Amazon Rekognition operations, passing base64-encoded * image bytes is not supported. *

*

* If you are using an AWS SDK to call Amazon Rekognition, you might not * need to base64-encode image bytes passed using the Bytes * field. For more information, see Images in the Amazon Rekognition * developer guide. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param image

* The input image as base64-encoded bytes or an S3 object. If * you use the AWS CLI to call Amazon Rekognition operations, * passing base64-encoded image bytes is not supported. *

*

* If you are using an AWS SDK to call Amazon Rekognition, you * might not need to base64-encode image bytes passed using the * Bytes field. For more information, see Images in * the Amazon Rekognition developer guide. *

* @return A reference to this updated object so that method calls can be * chained together. */ public DetectModerationLabelsRequest withImage(Image image) { this.image = image; return this; } /** *

* Specifies the minimum confidence level for the labels to return. Amazon * Rekognition doesn't return any labels with a confidence level lower than * this specified value. *

*

* If you don't specify MinConfidence, the operation returns * labels with confidence values greater than or equal to 50 percent. *

*

* Constraints:
* Length: 0.0 - 100.0
* * @return

* Specifies the minimum confidence level for the labels to return. * Amazon Rekognition doesn't return any labels with a confidence * level lower than this specified value. *

*

* If you don't specify MinConfidence, the operation * returns labels with confidence values greater than or equal to 50 * percent. *

*/ public Float getMinConfidence() { return minConfidence; } /** *

* Specifies the minimum confidence level for the labels to return. Amazon * Rekognition doesn't return any labels with a confidence level lower than * this specified value. *

*

* If you don't specify MinConfidence, the operation returns * labels with confidence values greater than or equal to 50 percent. *

*

* Constraints:
* Length: 0.0 - 100.0
* * @param minConfidence

* Specifies the minimum confidence level for the labels to * return. Amazon Rekognition doesn't return any labels with a * confidence level lower than this specified value. *

*

* If you don't specify MinConfidence, the operation * returns labels with confidence values greater than or equal to * 50 percent. *

*/ public void setMinConfidence(Float minConfidence) { this.minConfidence = minConfidence; } /** *

* Specifies the minimum confidence level for the labels to return. Amazon * Rekognition doesn't return any labels with a confidence level lower than * this specified value. *

*

* If you don't specify MinConfidence, the operation returns * labels with confidence values greater than or equal to 50 percent. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 0.0 - 100.0
* * @param minConfidence

* Specifies the minimum confidence level for the labels to * return. Amazon Rekognition doesn't return any labels with a * confidence level lower than this specified value. *

*

* If you don't specify MinConfidence, the operation * returns labels with confidence values greater than or equal to * 50 percent. *

* @return A reference to this updated object so that method calls can be * chained together. */ public DetectModerationLabelsRequest withMinConfidence(Float minConfidence) { this.minConfidence = minConfidence; return this; } /** *

* Sets up the configuration for human evaluation, including the * FlowDefinition the image will be sent to. *

* * @return

* Sets up the configuration for human evaluation, including the * FlowDefinition the image will be sent to. *

*/ public HumanLoopConfig getHumanLoopConfig() { return humanLoopConfig; } /** *

* Sets up the configuration for human evaluation, including the * FlowDefinition the image will be sent to. *

* * @param humanLoopConfig

* Sets up the configuration for human evaluation, including the * FlowDefinition the image will be sent to. *

*/ public void setHumanLoopConfig(HumanLoopConfig humanLoopConfig) { this.humanLoopConfig = humanLoopConfig; } /** *

* Sets up the configuration for human evaluation, including the * FlowDefinition the image will be sent to. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param humanLoopConfig

* Sets up the configuration for human evaluation, including the * FlowDefinition the image will be sent to. *

* @return A reference to this updated object so that method calls can be * chained together. */ public DetectModerationLabelsRequest withHumanLoopConfig(HumanLoopConfig humanLoopConfig) { this.humanLoopConfig = humanLoopConfig; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getImage() != null) sb.append("Image: " + getImage() + ","); if (getMinConfidence() != null) sb.append("MinConfidence: " + getMinConfidence() + ","); if (getHumanLoopConfig() != null) sb.append("HumanLoopConfig: " + getHumanLoopConfig()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getImage() == null) ? 0 : getImage().hashCode()); hashCode = prime * hashCode + ((getMinConfidence() == null) ? 0 : getMinConfidence().hashCode()); hashCode = prime * hashCode + ((getHumanLoopConfig() == null) ? 0 : getHumanLoopConfig().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DetectModerationLabelsRequest == false) return false; DetectModerationLabelsRequest other = (DetectModerationLabelsRequest) obj; if (other.getImage() == null ^ this.getImage() == null) return false; if (other.getImage() != null && other.getImage().equals(this.getImage()) == false) return false; if (other.getMinConfidence() == null ^ this.getMinConfidence() == null) return false; if (other.getMinConfidence() != null && other.getMinConfidence().equals(this.getMinConfidence()) == false) return false; if (other.getHumanLoopConfig() == null ^ this.getHumanLoopConfig() == null) return false; if (other.getHumanLoopConfig() != null && other.getHumanLoopConfig().equals(this.getHumanLoopConfig()) == false) return false; return true; } }