/* * 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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; } }