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

* Gets the celebrity recognition results for a Amazon Rekognition Video * analysis started by StartCelebrityRecognition. *

*

* Celebrity recognition in a video is an asynchronous operation. Analysis is * started by a call to StartCelebrityRecognition which returns a job * identifier (JobId). *

*

* When the celebrity recognition operation finishes, Amazon Rekognition Video * publishes a completion status to the Amazon Simple Notification Service topic * registered in the initial call to StartCelebrityRecognition. To * get the results of the celebrity recognition analysis, first check that the * status value published to the Amazon SNS topic is SUCCEEDED. If * so, call GetCelebrityDetection and pass the job identifier ( * JobId) from the initial call to * StartCelebrityDetection. *

*

* For more information, see Working With Stored Videos in the Amazon * Rekognition Developer Guide. *

*

* GetCelebrityRecognition returns detected celebrities and the * time(s) they are detected in an array (Celebrities) of * CelebrityRecognition objects. Each CelebrityRecognition * contains information about the celebrity in a CelebrityDetail object * and the time, Timestamp, the celebrity was detected. This * CelebrityDetail object stores information about the detected * celebrity's face attributes, a face bounding box, known gender, the * celebrity's name, and a confidence estimate. *

* *

* GetCelebrityRecognition only returns the default facial * attributes (BoundingBox, Confidence, * Landmarks, Pose, and Quality). The * BoundingBox field only applies to the detected face instance. * The other facial attributes listed in the Face object of the * following response syntax are not returned. For more information, see * FaceDetail in the Amazon Rekognition Developer Guide. *

*
*

* By default, the Celebrities array is sorted by time * (milliseconds from the start of the video). You can also sort the array by * celebrity by specifying the value ID in the SortBy * input parameter. *

*

* The CelebrityDetail object includes the celebrity identifer and * additional information urls. If you don't store the additional information * urls, you can get them later by calling GetCelebrityInfo with the * celebrity identifer. *

*

* No information is returned for faces not recognized as celebrities. *

*

* Use MaxResults parameter to limit the number of labels returned. If there are * more results than specified in MaxResults, the value of * NextToken in the operation response contains a pagination token * for getting the next set of results. To get the next page of results, call * GetCelebrityDetection and populate the NextToken * request parameter with the token value returned from the previous call to * GetCelebrityRecognition. *

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

* Job identifier for the required celebrity recognition analysis. You can * get the job identifer from a call to * StartCelebrityRecognition. *

*

* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-_]+$
*/ private String jobId; /** *

* Maximum number of results to return per paginated call. The largest value * you can specify is 1000. If you specify a value greater than 1000, a * maximum of 1000 results is returned. The default value is 1000. *

*

* Constraints:
* Range: 1 -
*/ private Integer maxResults; /** *

* If the previous response was incomplete (because there is more recognized * celebrities to retrieve), Amazon Rekognition Video returns a pagination * token in the response. You can use this pagination token to retrieve the * next set of celebrities. *

*

* Constraints:
* Length: - 255
*/ private String nextToken; /** *

* Sort to use for celebrities returned in Celebrities field. * Specify ID to sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was recognized. *

*

* Constraints:
* Allowed Values: ID, TIMESTAMP */ private String sortBy; /** *

* Job identifier for the required celebrity recognition analysis. You can * get the job identifer from a call to * StartCelebrityRecognition. *

*

* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-_]+$
* * @return

* Job identifier for the required celebrity recognition analysis. * You can get the job identifer from a call to * StartCelebrityRecognition. *

*/ public String getJobId() { return jobId; } /** *

* Job identifier for the required celebrity recognition analysis. You can * get the job identifer from a call to * StartCelebrityRecognition. *

*

* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-_]+$
* * @param jobId

* Job identifier for the required celebrity recognition * analysis. You can get the job identifer from a call to * StartCelebrityRecognition. *

*/ public void setJobId(String jobId) { this.jobId = jobId; } /** *

* Job identifier for the required celebrity recognition analysis. You can * get the job identifer from a call to * StartCelebrityRecognition. *

*

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

* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-_]+$
* * @param jobId

* Job identifier for the required celebrity recognition * analysis. You can get the job identifer from a call to * StartCelebrityRecognition. *

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

* Maximum number of results to return per paginated call. The largest value * you can specify is 1000. If you specify a value greater than 1000, a * maximum of 1000 results is returned. The default value is 1000. *

*

* Constraints:
* Range: 1 -
* * @return

* Maximum number of results to return per paginated call. The * largest value you can specify is 1000. If you specify a value * greater than 1000, a maximum of 1000 results is returned. The * default value is 1000. *

*/ public Integer getMaxResults() { return maxResults; } /** *

* Maximum number of results to return per paginated call. The largest value * you can specify is 1000. If you specify a value greater than 1000, a * maximum of 1000 results is returned. The default value is 1000. *

*

* Constraints:
* Range: 1 -
* * @param maxResults

* Maximum number of results to return per paginated call. The * largest value you can specify is 1000. If you specify a value * greater than 1000, a maximum of 1000 results is returned. The * default value is 1000. *

*/ public void setMaxResults(Integer maxResults) { this.maxResults = maxResults; } /** *

* Maximum number of results to return per paginated call. The largest value * you can specify is 1000. If you specify a value greater than 1000, a * maximum of 1000 results is returned. The default value is 1000. *

*

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

* Constraints:
* Range: 1 -
* * @param maxResults

* Maximum number of results to return per paginated call. The * largest value you can specify is 1000. If you specify a value * greater than 1000, a maximum of 1000 results is returned. The * default value is 1000. *

* @return A reference to this updated object so that method calls can be * chained together. */ public GetCelebrityRecognitionRequest withMaxResults(Integer maxResults) { this.maxResults = maxResults; return this; } /** *

* If the previous response was incomplete (because there is more recognized * celebrities to retrieve), Amazon Rekognition Video returns a pagination * token in the response. You can use this pagination token to retrieve the * next set of celebrities. *

*

* Constraints:
* Length: - 255
* * @return

* If the previous response was incomplete (because there is more * recognized celebrities to retrieve), Amazon Rekognition Video * returns a pagination token in the response. You can use this * pagination token to retrieve the next set of celebrities. *

*/ public String getNextToken() { return nextToken; } /** *

* If the previous response was incomplete (because there is more recognized * celebrities to retrieve), Amazon Rekognition Video returns a pagination * token in the response. You can use this pagination token to retrieve the * next set of celebrities. *

*

* Constraints:
* Length: - 255
* * @param nextToken

* If the previous response was incomplete (because there is more * recognized celebrities to retrieve), Amazon Rekognition Video * returns a pagination token in the response. You can use this * pagination token to retrieve the next set of celebrities. *

*/ public void setNextToken(String nextToken) { this.nextToken = nextToken; } /** *

* If the previous response was incomplete (because there is more recognized * celebrities to retrieve), Amazon Rekognition Video returns a pagination * token in the response. You can use this pagination token to retrieve the * next set of celebrities. *

*

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

* Constraints:
* Length: - 255
* * @param nextToken

* If the previous response was incomplete (because there is more * recognized celebrities to retrieve), Amazon Rekognition Video * returns a pagination token in the response. You can use this * pagination token to retrieve the next set of celebrities. *

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

* Sort to use for celebrities returned in Celebrities field. * Specify ID to sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was recognized. *

*

* Constraints:
* Allowed Values: ID, TIMESTAMP * * @return

* Sort to use for celebrities returned in Celebrities * field. Specify ID to sort by the celebrity * identifier, specify TIMESTAMP to sort by the time * the celebrity was recognized. *

* @see CelebrityRecognitionSortBy */ public String getSortBy() { return sortBy; } /** *

* Sort to use for celebrities returned in Celebrities field. * Specify ID to sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was recognized. *

*

* Constraints:
* Allowed Values: ID, TIMESTAMP * * @param sortBy

* Sort to use for celebrities returned in * Celebrities field. Specify ID to * sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was * recognized. *

* @see CelebrityRecognitionSortBy */ public void setSortBy(String sortBy) { this.sortBy = sortBy; } /** *

* Sort to use for celebrities returned in Celebrities field. * Specify ID to sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was recognized. *

*

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

* Constraints:
* Allowed Values: ID, TIMESTAMP * * @param sortBy

* Sort to use for celebrities returned in * Celebrities field. Specify ID to * sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was * recognized. *

* @return A reference to this updated object so that method calls can be * chained together. * @see CelebrityRecognitionSortBy */ public GetCelebrityRecognitionRequest withSortBy(String sortBy) { this.sortBy = sortBy; return this; } /** *

* Sort to use for celebrities returned in Celebrities field. * Specify ID to sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was recognized. *

*

* Constraints:
* Allowed Values: ID, TIMESTAMP * * @param sortBy

* Sort to use for celebrities returned in * Celebrities field. Specify ID to * sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was * recognized. *

* @see CelebrityRecognitionSortBy */ public void setSortBy(CelebrityRecognitionSortBy sortBy) { this.sortBy = sortBy.toString(); } /** *

* Sort to use for celebrities returned in Celebrities field. * Specify ID to sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was recognized. *

*

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

* Constraints:
* Allowed Values: ID, TIMESTAMP * * @param sortBy

* Sort to use for celebrities returned in * Celebrities field. Specify ID to * sort by the celebrity identifier, specify * TIMESTAMP to sort by the time the celebrity was * recognized. *

* @return A reference to this updated object so that method calls can be * chained together. * @see CelebrityRecognitionSortBy */ public GetCelebrityRecognitionRequest withSortBy(CelebrityRecognitionSortBy sortBy) { this.sortBy = sortBy.toString(); 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 (getJobId() != null) sb.append("JobId: " + getJobId() + ","); if (getMaxResults() != null) sb.append("MaxResults: " + getMaxResults() + ","); if (getNextToken() != null) sb.append("NextToken: " + getNextToken() + ","); if (getSortBy() != null) sb.append("SortBy: " + getSortBy()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getJobId() == null) ? 0 : getJobId().hashCode()); hashCode = prime * hashCode + ((getMaxResults() == null) ? 0 : getMaxResults().hashCode()); hashCode = prime * hashCode + ((getNextToken() == null) ? 0 : getNextToken().hashCode()); hashCode = prime * hashCode + ((getSortBy() == null) ? 0 : getSortBy().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GetCelebrityRecognitionRequest == false) return false; GetCelebrityRecognitionRequest other = (GetCelebrityRecognitionRequest) obj; if (other.getJobId() == null ^ this.getJobId() == null) return false; if (other.getJobId() != null && other.getJobId().equals(this.getJobId()) == false) return false; if (other.getMaxResults() == null ^ this.getMaxResults() == null) return false; if (other.getMaxResults() != null && other.getMaxResults().equals(this.getMaxResults()) == false) return false; if (other.getNextToken() == null ^ this.getNextToken() == null) return false; if (other.getNextToken() != null && other.getNextToken().equals(this.getNextToken()) == false) return false; if (other.getSortBy() == null ^ this.getSortBy() == null) return false; if (other.getSortBy() != null && other.getSortBy().equals(this.getSortBy()) == false) return false; return true; } }