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

* Provides information about a single type of inappropriate, unwanted, or * offensive content found in an image or video. Each type of moderated content * has a label within a hierarchical taxonomy. For more information, see Content * moderation in the Amazon Rekognition Developer Guide. *

*/ public class ModerationLabel implements Serializable { /** *

* Specifies the confidence that Amazon Rekognition has that the label has * been correctly identified. *

*

* If you don't specify the MinConfidence parameter in the call * to DetectModerationLabels, the operation returns labels with * a confidence value greater than or equal to 50 percent. *

*

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

* The label name for the type of unsafe content detected in the image. *

*/ private String name; /** *

* The name for the parent label. Labels at the top level of the hierarchy * have the parent label "". *

*/ private String parentName; /** *

* Specifies the confidence that Amazon Rekognition has that the label has * been correctly identified. *

*

* If you don't specify the MinConfidence parameter in the call * to DetectModerationLabels, the operation returns labels with * a confidence value greater than or equal to 50 percent. *

*

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

* Specifies the confidence that Amazon Rekognition has that the * label has been correctly identified. *

*

* If you don't specify the MinConfidence parameter in * the call to DetectModerationLabels, the operation * returns labels with a confidence value greater than or equal to * 50 percent. *

*/ public Float getConfidence() { return confidence; } /** *

* Specifies the confidence that Amazon Rekognition has that the label has * been correctly identified. *

*

* If you don't specify the MinConfidence parameter in the call * to DetectModerationLabels, the operation returns labels with * a confidence value greater than or equal to 50 percent. *

*

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

* Specifies the confidence that Amazon Rekognition has that the * label has been correctly identified. *

*

* If you don't specify the MinConfidence parameter * in the call to DetectModerationLabels, the * operation returns labels with a confidence value greater than * or equal to 50 percent. *

*/ public void setConfidence(Float confidence) { this.confidence = confidence; } /** *

* Specifies the confidence that Amazon Rekognition has that the label has * been correctly identified. *

*

* If you don't specify the MinConfidence parameter in the call * to DetectModerationLabels, the operation returns labels with * a confidence value 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 confidence

* Specifies the confidence that Amazon Rekognition has that the * label has been correctly identified. *

*

* If you don't specify the MinConfidence parameter * in the call to DetectModerationLabels, the * operation returns labels with a confidence value greater than * or equal to 50 percent. *

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

* The label name for the type of unsafe content detected in the image. *

* * @return

* The label name for the type of unsafe content detected in the * image. *

*/ public String getName() { return name; } /** *

* The label name for the type of unsafe content detected in the image. *

* * @param name

* The label name for the type of unsafe content detected in the * image. *

*/ public void setName(String name) { this.name = name; } /** *

* The label name for the type of unsafe content detected in the image. *

*

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

* The label name for the type of unsafe content detected in the * image. *

* @return A reference to this updated object so that method calls can be * chained together. */ public ModerationLabel withName(String name) { this.name = name; return this; } /** *

* The name for the parent label. Labels at the top level of the hierarchy * have the parent label "". *

* * @return

* The name for the parent label. Labels at the top level of the * hierarchy have the parent label "". *

*/ public String getParentName() { return parentName; } /** *

* The name for the parent label. Labels at the top level of the hierarchy * have the parent label "". *

* * @param parentName

* The name for the parent label. Labels at the top level of the * hierarchy have the parent label "". *

*/ public void setParentName(String parentName) { this.parentName = parentName; } /** *

* The name for the parent label. Labels at the top level of the hierarchy * have the parent label "". *

*

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

* The name for the parent label. Labels at the top level of the * hierarchy have the parent label "". *

* @return A reference to this updated object so that method calls can be * chained together. */ public ModerationLabel withParentName(String parentName) { this.parentName = parentName; 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 (getConfidence() != null) sb.append("Confidence: " + getConfidence() + ","); if (getName() != null) sb.append("Name: " + getName() + ","); if (getParentName() != null) sb.append("ParentName: " + getParentName()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getConfidence() == null) ? 0 : getConfidence().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getParentName() == null) ? 0 : getParentName().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ModerationLabel == false) return false; ModerationLabel other = (ModerationLabel) obj; if (other.getConfidence() == null ^ this.getConfidence() == null) return false; if (other.getConfidence() != null && other.getConfidence().equals(this.getConfidence()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getParentName() == null ^ this.getParentName() == null) return false; if (other.getParentName() != null && other.getParentName().equals(this.getParentName()) == false) return false; return true; } }