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

* An image that is picked from the Face Liveness video and returned for audit * trail purposes, returned as Base64-encoded bytes. *

*/ public class AuditImage implements Serializable { /** *

* The Base64-encoded bytes representing an image selected from the Face * Liveness video and returned for audit purposes. *

*

* Constraints:
* Length: 1 - 204800
*/ private java.nio.ByteBuffer bytes; /** *

* Provides the S3 bucket name and object name. *

*

* The region for the S3 bucket containing the S3 object must match the * region you use for Amazon Rekognition operations. *

*

* For Amazon Rekognition to process an S3 object, the user must have * permission to access the S3 object. For more information, see How Amazon * Rekognition works with IAM in the Amazon Rekognition Developer Guide. *

*/ private S3Object s3Object; /** *

* Identifies the bounding box around the label, face, text, object of * interest, or personal protective equipment. The left * (x-coordinate) and top (y-coordinate) are coordinates * representing the top and left sides of the bounding box. Note that the * upper-left corner of the image is the origin (0,0). *

*

* The top and left values returned are ratios of * the overall image size. For example, if the input image is 700x200 * pixels, and the top-left coordinate of the bounding box is 350x50 pixels, * the API returns a left value of 0.5 (350/700) and a * top value of 0.25 (50/200). *

*

* The width and height values represent the * dimensions of the bounding box as a ratio of the overall image dimension. * For example, if the input image is 700x200 pixels, and the bounding box * width is 70 pixels, the width returned is 0.1. *

* *

* The bounding box coordinates can have negative values. For example, if * Amazon Rekognition is able to detect a face that is at the image edge and * is only partially visible, the service can return coordinates that are * outside the image bounds and, depending on the image edge, you might get * negative values or values greater than 1 for the left or * top values. *

*
*/ private BoundingBox boundingBox; /** *

* The Base64-encoded bytes representing an image selected from the Face * Liveness video and returned for audit purposes. *

*

* Constraints:
* Length: 1 - 204800
* * @return

* The Base64-encoded bytes representing an image selected from the * Face Liveness video and returned for audit purposes. *

*/ public java.nio.ByteBuffer getBytes() { return bytes; } /** *

* The Base64-encoded bytes representing an image selected from the Face * Liveness video and returned for audit purposes. *

*

* Constraints:
* Length: 1 - 204800
* * @param bytes

* The Base64-encoded bytes representing an image selected from * the Face Liveness video and returned for audit purposes. *

*/ public void setBytes(java.nio.ByteBuffer bytes) { this.bytes = bytes; } /** *

* The Base64-encoded bytes representing an image selected from the Face * Liveness video and returned for audit purposes. *

*

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

* Constraints:
* Length: 1 - 204800
* * @param bytes

* The Base64-encoded bytes representing an image selected from * the Face Liveness video and returned for audit purposes. *

* @return A reference to this updated object so that method calls can be * chained together. */ public AuditImage withBytes(java.nio.ByteBuffer bytes) { this.bytes = bytes; return this; } /** *

* Provides the S3 bucket name and object name. *

*

* The region for the S3 bucket containing the S3 object must match the * region you use for Amazon Rekognition operations. *

*

* For Amazon Rekognition to process an S3 object, the user must have * permission to access the S3 object. For more information, see How Amazon * Rekognition works with IAM in the Amazon Rekognition Developer Guide. *

* * @return

* Provides the S3 bucket name and object name. *

*

* The region for the S3 bucket containing the S3 object must match * the region you use for Amazon Rekognition operations. *

*

* For Amazon Rekognition to process an S3 object, the user must * have permission to access the S3 object. For more information, * see How Amazon Rekognition works with IAM in the Amazon * Rekognition Developer Guide. *

*/ public S3Object getS3Object() { return s3Object; } /** *

* Provides the S3 bucket name and object name. *

*

* The region for the S3 bucket containing the S3 object must match the * region you use for Amazon Rekognition operations. *

*

* For Amazon Rekognition to process an S3 object, the user must have * permission to access the S3 object. For more information, see How Amazon * Rekognition works with IAM in the Amazon Rekognition Developer Guide. *

* * @param s3Object

* Provides the S3 bucket name and object name. *

*

* The region for the S3 bucket containing the S3 object must * match the region you use for Amazon Rekognition operations. *

*

* For Amazon Rekognition to process an S3 object, the user must * have permission to access the S3 object. For more information, * see How Amazon Rekognition works with IAM in the Amazon * Rekognition Developer Guide. *

*/ public void setS3Object(S3Object s3Object) { this.s3Object = s3Object; } /** *

* Provides the S3 bucket name and object name. *

*

* The region for the S3 bucket containing the S3 object must match the * region you use for Amazon Rekognition operations. *

*

* For Amazon Rekognition to process an S3 object, the user must have * permission to access the S3 object. For more information, see How Amazon * Rekognition works with IAM in the Amazon Rekognition Developer Guide. *

*

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

* Provides the S3 bucket name and object name. *

*

* The region for the S3 bucket containing the S3 object must * match the region you use for Amazon Rekognition operations. *

*

* For Amazon Rekognition to process an S3 object, the user must * have permission to access the S3 object. For more information, * see How Amazon Rekognition works with IAM in the Amazon * Rekognition Developer Guide. *

* @return A reference to this updated object so that method calls can be * chained together. */ public AuditImage withS3Object(S3Object s3Object) { this.s3Object = s3Object; return this; } /** *

* Identifies the bounding box around the label, face, text, object of * interest, or personal protective equipment. The left * (x-coordinate) and top (y-coordinate) are coordinates * representing the top and left sides of the bounding box. Note that the * upper-left corner of the image is the origin (0,0). *

*

* The top and left values returned are ratios of * the overall image size. For example, if the input image is 700x200 * pixels, and the top-left coordinate of the bounding box is 350x50 pixels, * the API returns a left value of 0.5 (350/700) and a * top value of 0.25 (50/200). *

*

* The width and height values represent the * dimensions of the bounding box as a ratio of the overall image dimension. * For example, if the input image is 700x200 pixels, and the bounding box * width is 70 pixels, the width returned is 0.1. *

* *

* The bounding box coordinates can have negative values. For example, if * Amazon Rekognition is able to detect a face that is at the image edge and * is only partially visible, the service can return coordinates that are * outside the image bounds and, depending on the image edge, you might get * negative values or values greater than 1 for the left or * top values. *

*
* * @return

* Identifies the bounding box around the label, face, text, object * of interest, or personal protective equipment. The * left (x-coordinate) and top * (y-coordinate) are coordinates representing the top and left * sides of the bounding box. Note that the upper-left corner of the * image is the origin (0,0). *

*

* The top and left values returned are * ratios of the overall image size. For example, if the input image * is 700x200 pixels, and the top-left coordinate of the bounding * box is 350x50 pixels, the API returns a left value * of 0.5 (350/700) and a top value of 0.25 (50/200). *

*

* The width and height values represent * the dimensions of the bounding box as a ratio of the overall * image dimension. For example, if the input image is 700x200 * pixels, and the bounding box width is 70 pixels, the width * returned is 0.1. *

* *

* The bounding box coordinates can have negative values. For * example, if Amazon Rekognition is able to detect a face that is * at the image edge and is only partially visible, the service can * return coordinates that are outside the image bounds and, * depending on the image edge, you might get negative values or * values greater than 1 for the left or * top values. *

*
*/ public BoundingBox getBoundingBox() { return boundingBox; } /** *

* Identifies the bounding box around the label, face, text, object of * interest, or personal protective equipment. The left * (x-coordinate) and top (y-coordinate) are coordinates * representing the top and left sides of the bounding box. Note that the * upper-left corner of the image is the origin (0,0). *

*

* The top and left values returned are ratios of * the overall image size. For example, if the input image is 700x200 * pixels, and the top-left coordinate of the bounding box is 350x50 pixels, * the API returns a left value of 0.5 (350/700) and a * top value of 0.25 (50/200). *

*

* The width and height values represent the * dimensions of the bounding box as a ratio of the overall image dimension. * For example, if the input image is 700x200 pixels, and the bounding box * width is 70 pixels, the width returned is 0.1. *

* *

* The bounding box coordinates can have negative values. For example, if * Amazon Rekognition is able to detect a face that is at the image edge and * is only partially visible, the service can return coordinates that are * outside the image bounds and, depending on the image edge, you might get * negative values or values greater than 1 for the left or * top values. *

*
* * @param boundingBox

* Identifies the bounding box around the label, face, text, * object of interest, or personal protective equipment. The * left (x-coordinate) and top * (y-coordinate) are coordinates representing the top and left * sides of the bounding box. Note that the upper-left corner of * the image is the origin (0,0). *

*

* The top and left values returned are * ratios of the overall image size. For example, if the input * image is 700x200 pixels, and the top-left coordinate of the * bounding box is 350x50 pixels, the API returns a * left value of 0.5 (350/700) and a * top value of 0.25 (50/200). *

*

* The width and height values * represent the dimensions of the bounding box as a ratio of the * overall image dimension. For example, if the input image is * 700x200 pixels, and the bounding box width is 70 pixels, the * width returned is 0.1. *

* *

* The bounding box coordinates can have negative values. For * example, if Amazon Rekognition is able to detect a face that * is at the image edge and is only partially visible, the * service can return coordinates that are outside the image * bounds and, depending on the image edge, you might get * negative values or values greater than 1 for the * left or top values. *

*
*/ public void setBoundingBox(BoundingBox boundingBox) { this.boundingBox = boundingBox; } /** *

* Identifies the bounding box around the label, face, text, object of * interest, or personal protective equipment. The left * (x-coordinate) and top (y-coordinate) are coordinates * representing the top and left sides of the bounding box. Note that the * upper-left corner of the image is the origin (0,0). *

*

* The top and left values returned are ratios of * the overall image size. For example, if the input image is 700x200 * pixels, and the top-left coordinate of the bounding box is 350x50 pixels, * the API returns a left value of 0.5 (350/700) and a * top value of 0.25 (50/200). *

*

* The width and height values represent the * dimensions of the bounding box as a ratio of the overall image dimension. * For example, if the input image is 700x200 pixels, and the bounding box * width is 70 pixels, the width returned is 0.1. *

* *

* The bounding box coordinates can have negative values. For example, if * Amazon Rekognition is able to detect a face that is at the image edge and * is only partially visible, the service can return coordinates that are * outside the image bounds and, depending on the image edge, you might get * negative values or values greater than 1 for the left or * top values. *

*
*

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

* Identifies the bounding box around the label, face, text, * object of interest, or personal protective equipment. The * left (x-coordinate) and top * (y-coordinate) are coordinates representing the top and left * sides of the bounding box. Note that the upper-left corner of * the image is the origin (0,0). *

*

* The top and left values returned are * ratios of the overall image size. For example, if the input * image is 700x200 pixels, and the top-left coordinate of the * bounding box is 350x50 pixels, the API returns a * left value of 0.5 (350/700) and a * top value of 0.25 (50/200). *

*

* The width and height values * represent the dimensions of the bounding box as a ratio of the * overall image dimension. For example, if the input image is * 700x200 pixels, and the bounding box width is 70 pixels, the * width returned is 0.1. *

* *

* The bounding box coordinates can have negative values. For * example, if Amazon Rekognition is able to detect a face that * is at the image edge and is only partially visible, the * service can return coordinates that are outside the image * bounds and, depending on the image edge, you might get * negative values or values greater than 1 for the * left or top values. *

*
* @return A reference to this updated object so that method calls can be * chained together. */ public AuditImage withBoundingBox(BoundingBox boundingBox) { this.boundingBox = boundingBox; 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 (getBytes() != null) sb.append("Bytes: " + getBytes() + ","); if (getS3Object() != null) sb.append("S3Object: " + getS3Object() + ","); if (getBoundingBox() != null) sb.append("BoundingBox: " + getBoundingBox()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getBytes() == null) ? 0 : getBytes().hashCode()); hashCode = prime * hashCode + ((getS3Object() == null) ? 0 : getS3Object().hashCode()); hashCode = prime * hashCode + ((getBoundingBox() == null) ? 0 : getBoundingBox().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AuditImage == false) return false; AuditImage other = (AuditImage) obj; if (other.getBytes() == null ^ this.getBytes() == null) return false; if (other.getBytes() != null && other.getBytes().equals(this.getBytes()) == false) return false; if (other.getS3Object() == null ^ this.getS3Object() == null) return false; if (other.getS3Object() != null && other.getS3Object().equals(this.getS3Object()) == false) return false; if (other.getBoundingBox() == null ^ this.getBoundingBox() == null) return false; if (other.getBoundingBox() != null && other.getBoundingBox().equals(this.getBoundingBox()) == false) return false; return true; } }