
com.amazonaws.services.alexaforbusiness.model.SkillDetails Maven / Gradle / Ivy
/*
* Copyright 2014-2019 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.alexaforbusiness.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Granular information about the skill.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class SkillDetails implements Serializable, Cloneable, StructuredPojo {
/**
*
* The description of the product.
*
*/
private String productDescription;
/**
*
* The phrase used to trigger the skill.
*
*/
private String invocationPhrase;
/**
*
* The date when the skill was released.
*
*/
private String releaseDate;
/**
*
* The URL of the end user license agreement.
*
*/
private String endUserLicenseAgreement;
/**
*
* The generic keywords associated with the skill that can be used to find a skill.
*
*/
private java.util.List genericKeywords;
/**
*
* The details about what the skill supports organized as bullet points.
*
*/
private java.util.List bulletPoints;
/**
*
* The updates added in bullet points.
*
*/
private java.util.List newInThisVersionBulletPoints;
/**
*
* The types of skills.
*
*/
private java.util.List skillTypes;
/**
*
* The list of reviews for the skill, including Key and Value pair.
*
*/
private java.util.Map reviews;
/**
*
* The details about the developer that published the skill.
*
*/
private DeveloperInfo developerInfo;
/**
*
* The description of the product.
*
*
* @param productDescription
* The description of the product.
*/
public void setProductDescription(String productDescription) {
this.productDescription = productDescription;
}
/**
*
* The description of the product.
*
*
* @return The description of the product.
*/
public String getProductDescription() {
return this.productDescription;
}
/**
*
* The description of the product.
*
*
* @param productDescription
* The description of the product.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withProductDescription(String productDescription) {
setProductDescription(productDescription);
return this;
}
/**
*
* The phrase used to trigger the skill.
*
*
* @param invocationPhrase
* The phrase used to trigger the skill.
*/
public void setInvocationPhrase(String invocationPhrase) {
this.invocationPhrase = invocationPhrase;
}
/**
*
* The phrase used to trigger the skill.
*
*
* @return The phrase used to trigger the skill.
*/
public String getInvocationPhrase() {
return this.invocationPhrase;
}
/**
*
* The phrase used to trigger the skill.
*
*
* @param invocationPhrase
* The phrase used to trigger the skill.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withInvocationPhrase(String invocationPhrase) {
setInvocationPhrase(invocationPhrase);
return this;
}
/**
*
* The date when the skill was released.
*
*
* @param releaseDate
* The date when the skill was released.
*/
public void setReleaseDate(String releaseDate) {
this.releaseDate = releaseDate;
}
/**
*
* The date when the skill was released.
*
*
* @return The date when the skill was released.
*/
public String getReleaseDate() {
return this.releaseDate;
}
/**
*
* The date when the skill was released.
*
*
* @param releaseDate
* The date when the skill was released.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withReleaseDate(String releaseDate) {
setReleaseDate(releaseDate);
return this;
}
/**
*
* The URL of the end user license agreement.
*
*
* @param endUserLicenseAgreement
* The URL of the end user license agreement.
*/
public void setEndUserLicenseAgreement(String endUserLicenseAgreement) {
this.endUserLicenseAgreement = endUserLicenseAgreement;
}
/**
*
* The URL of the end user license agreement.
*
*
* @return The URL of the end user license agreement.
*/
public String getEndUserLicenseAgreement() {
return this.endUserLicenseAgreement;
}
/**
*
* The URL of the end user license agreement.
*
*
* @param endUserLicenseAgreement
* The URL of the end user license agreement.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withEndUserLicenseAgreement(String endUserLicenseAgreement) {
setEndUserLicenseAgreement(endUserLicenseAgreement);
return this;
}
/**
*
* The generic keywords associated with the skill that can be used to find a skill.
*
*
* @return The generic keywords associated with the skill that can be used to find a skill.
*/
public java.util.List getGenericKeywords() {
return genericKeywords;
}
/**
*
* The generic keywords associated with the skill that can be used to find a skill.
*
*
* @param genericKeywords
* The generic keywords associated with the skill that can be used to find a skill.
*/
public void setGenericKeywords(java.util.Collection genericKeywords) {
if (genericKeywords == null) {
this.genericKeywords = null;
return;
}
this.genericKeywords = new java.util.ArrayList(genericKeywords);
}
/**
*
* The generic keywords associated with the skill that can be used to find a skill.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setGenericKeywords(java.util.Collection)} or {@link #withGenericKeywords(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param genericKeywords
* The generic keywords associated with the skill that can be used to find a skill.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withGenericKeywords(String... genericKeywords) {
if (this.genericKeywords == null) {
setGenericKeywords(new java.util.ArrayList(genericKeywords.length));
}
for (String ele : genericKeywords) {
this.genericKeywords.add(ele);
}
return this;
}
/**
*
* The generic keywords associated with the skill that can be used to find a skill.
*
*
* @param genericKeywords
* The generic keywords associated with the skill that can be used to find a skill.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withGenericKeywords(java.util.Collection genericKeywords) {
setGenericKeywords(genericKeywords);
return this;
}
/**
*
* The details about what the skill supports organized as bullet points.
*
*
* @return The details about what the skill supports organized as bullet points.
*/
public java.util.List getBulletPoints() {
return bulletPoints;
}
/**
*
* The details about what the skill supports organized as bullet points.
*
*
* @param bulletPoints
* The details about what the skill supports organized as bullet points.
*/
public void setBulletPoints(java.util.Collection bulletPoints) {
if (bulletPoints == null) {
this.bulletPoints = null;
return;
}
this.bulletPoints = new java.util.ArrayList(bulletPoints);
}
/**
*
* The details about what the skill supports organized as bullet points.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setBulletPoints(java.util.Collection)} or {@link #withBulletPoints(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param bulletPoints
* The details about what the skill supports organized as bullet points.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withBulletPoints(String... bulletPoints) {
if (this.bulletPoints == null) {
setBulletPoints(new java.util.ArrayList(bulletPoints.length));
}
for (String ele : bulletPoints) {
this.bulletPoints.add(ele);
}
return this;
}
/**
*
* The details about what the skill supports organized as bullet points.
*
*
* @param bulletPoints
* The details about what the skill supports organized as bullet points.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withBulletPoints(java.util.Collection bulletPoints) {
setBulletPoints(bulletPoints);
return this;
}
/**
*
* The updates added in bullet points.
*
*
* @return The updates added in bullet points.
*/
public java.util.List getNewInThisVersionBulletPoints() {
return newInThisVersionBulletPoints;
}
/**
*
* The updates added in bullet points.
*
*
* @param newInThisVersionBulletPoints
* The updates added in bullet points.
*/
public void setNewInThisVersionBulletPoints(java.util.Collection newInThisVersionBulletPoints) {
if (newInThisVersionBulletPoints == null) {
this.newInThisVersionBulletPoints = null;
return;
}
this.newInThisVersionBulletPoints = new java.util.ArrayList(newInThisVersionBulletPoints);
}
/**
*
* The updates added in bullet points.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setNewInThisVersionBulletPoints(java.util.Collection)} or
* {@link #withNewInThisVersionBulletPoints(java.util.Collection)} if you want to override the existing values.
*
*
* @param newInThisVersionBulletPoints
* The updates added in bullet points.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withNewInThisVersionBulletPoints(String... newInThisVersionBulletPoints) {
if (this.newInThisVersionBulletPoints == null) {
setNewInThisVersionBulletPoints(new java.util.ArrayList(newInThisVersionBulletPoints.length));
}
for (String ele : newInThisVersionBulletPoints) {
this.newInThisVersionBulletPoints.add(ele);
}
return this;
}
/**
*
* The updates added in bullet points.
*
*
* @param newInThisVersionBulletPoints
* The updates added in bullet points.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withNewInThisVersionBulletPoints(java.util.Collection newInThisVersionBulletPoints) {
setNewInThisVersionBulletPoints(newInThisVersionBulletPoints);
return this;
}
/**
*
* The types of skills.
*
*
* @return The types of skills.
*/
public java.util.List getSkillTypes() {
return skillTypes;
}
/**
*
* The types of skills.
*
*
* @param skillTypes
* The types of skills.
*/
public void setSkillTypes(java.util.Collection skillTypes) {
if (skillTypes == null) {
this.skillTypes = null;
return;
}
this.skillTypes = new java.util.ArrayList(skillTypes);
}
/**
*
* The types of skills.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSkillTypes(java.util.Collection)} or {@link #withSkillTypes(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param skillTypes
* The types of skills.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withSkillTypes(String... skillTypes) {
if (this.skillTypes == null) {
setSkillTypes(new java.util.ArrayList(skillTypes.length));
}
for (String ele : skillTypes) {
this.skillTypes.add(ele);
}
return this;
}
/**
*
* The types of skills.
*
*
* @param skillTypes
* The types of skills.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withSkillTypes(java.util.Collection skillTypes) {
setSkillTypes(skillTypes);
return this;
}
/**
*
* The list of reviews for the skill, including Key and Value pair.
*
*
* @return The list of reviews for the skill, including Key and Value pair.
*/
public java.util.Map getReviews() {
return reviews;
}
/**
*
* The list of reviews for the skill, including Key and Value pair.
*
*
* @param reviews
* The list of reviews for the skill, including Key and Value pair.
*/
public void setReviews(java.util.Map reviews) {
this.reviews = reviews;
}
/**
*
* The list of reviews for the skill, including Key and Value pair.
*
*
* @param reviews
* The list of reviews for the skill, including Key and Value pair.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withReviews(java.util.Map reviews) {
setReviews(reviews);
return this;
}
public SkillDetails addReviewsEntry(String key, String value) {
if (null == this.reviews) {
this.reviews = new java.util.HashMap();
}
if (this.reviews.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.reviews.put(key, value);
return this;
}
/**
* Removes all the entries added into Reviews.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails clearReviewsEntries() {
this.reviews = null;
return this;
}
/**
*
* The details about the developer that published the skill.
*
*
* @param developerInfo
* The details about the developer that published the skill.
*/
public void setDeveloperInfo(DeveloperInfo developerInfo) {
this.developerInfo = developerInfo;
}
/**
*
* The details about the developer that published the skill.
*
*
* @return The details about the developer that published the skill.
*/
public DeveloperInfo getDeveloperInfo() {
return this.developerInfo;
}
/**
*
* The details about the developer that published the skill.
*
*
* @param developerInfo
* The details about the developer that published the skill.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SkillDetails withDeveloperInfo(DeveloperInfo developerInfo) {
setDeveloperInfo(developerInfo);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getProductDescription() != null)
sb.append("ProductDescription: ").append(getProductDescription()).append(",");
if (getInvocationPhrase() != null)
sb.append("InvocationPhrase: ").append(getInvocationPhrase()).append(",");
if (getReleaseDate() != null)
sb.append("ReleaseDate: ").append(getReleaseDate()).append(",");
if (getEndUserLicenseAgreement() != null)
sb.append("EndUserLicenseAgreement: ").append(getEndUserLicenseAgreement()).append(",");
if (getGenericKeywords() != null)
sb.append("GenericKeywords: ").append(getGenericKeywords()).append(",");
if (getBulletPoints() != null)
sb.append("BulletPoints: ").append(getBulletPoints()).append(",");
if (getNewInThisVersionBulletPoints() != null)
sb.append("NewInThisVersionBulletPoints: ").append(getNewInThisVersionBulletPoints()).append(",");
if (getSkillTypes() != null)
sb.append("SkillTypes: ").append(getSkillTypes()).append(",");
if (getReviews() != null)
sb.append("Reviews: ").append(getReviews()).append(",");
if (getDeveloperInfo() != null)
sb.append("DeveloperInfo: ").append(getDeveloperInfo());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SkillDetails == false)
return false;
SkillDetails other = (SkillDetails) obj;
if (other.getProductDescription() == null ^ this.getProductDescription() == null)
return false;
if (other.getProductDescription() != null && other.getProductDescription().equals(this.getProductDescription()) == false)
return false;
if (other.getInvocationPhrase() == null ^ this.getInvocationPhrase() == null)
return false;
if (other.getInvocationPhrase() != null && other.getInvocationPhrase().equals(this.getInvocationPhrase()) == false)
return false;
if (other.getReleaseDate() == null ^ this.getReleaseDate() == null)
return false;
if (other.getReleaseDate() != null && other.getReleaseDate().equals(this.getReleaseDate()) == false)
return false;
if (other.getEndUserLicenseAgreement() == null ^ this.getEndUserLicenseAgreement() == null)
return false;
if (other.getEndUserLicenseAgreement() != null && other.getEndUserLicenseAgreement().equals(this.getEndUserLicenseAgreement()) == false)
return false;
if (other.getGenericKeywords() == null ^ this.getGenericKeywords() == null)
return false;
if (other.getGenericKeywords() != null && other.getGenericKeywords().equals(this.getGenericKeywords()) == false)
return false;
if (other.getBulletPoints() == null ^ this.getBulletPoints() == null)
return false;
if (other.getBulletPoints() != null && other.getBulletPoints().equals(this.getBulletPoints()) == false)
return false;
if (other.getNewInThisVersionBulletPoints() == null ^ this.getNewInThisVersionBulletPoints() == null)
return false;
if (other.getNewInThisVersionBulletPoints() != null && other.getNewInThisVersionBulletPoints().equals(this.getNewInThisVersionBulletPoints()) == false)
return false;
if (other.getSkillTypes() == null ^ this.getSkillTypes() == null)
return false;
if (other.getSkillTypes() != null && other.getSkillTypes().equals(this.getSkillTypes()) == false)
return false;
if (other.getReviews() == null ^ this.getReviews() == null)
return false;
if (other.getReviews() != null && other.getReviews().equals(this.getReviews()) == false)
return false;
if (other.getDeveloperInfo() == null ^ this.getDeveloperInfo() == null)
return false;
if (other.getDeveloperInfo() != null && other.getDeveloperInfo().equals(this.getDeveloperInfo()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getProductDescription() == null) ? 0 : getProductDescription().hashCode());
hashCode = prime * hashCode + ((getInvocationPhrase() == null) ? 0 : getInvocationPhrase().hashCode());
hashCode = prime * hashCode + ((getReleaseDate() == null) ? 0 : getReleaseDate().hashCode());
hashCode = prime * hashCode + ((getEndUserLicenseAgreement() == null) ? 0 : getEndUserLicenseAgreement().hashCode());
hashCode = prime * hashCode + ((getGenericKeywords() == null) ? 0 : getGenericKeywords().hashCode());
hashCode = prime * hashCode + ((getBulletPoints() == null) ? 0 : getBulletPoints().hashCode());
hashCode = prime * hashCode + ((getNewInThisVersionBulletPoints() == null) ? 0 : getNewInThisVersionBulletPoints().hashCode());
hashCode = prime * hashCode + ((getSkillTypes() == null) ? 0 : getSkillTypes().hashCode());
hashCode = prime * hashCode + ((getReviews() == null) ? 0 : getReviews().hashCode());
hashCode = prime * hashCode + ((getDeveloperInfo() == null) ? 0 : getDeveloperInfo().hashCode());
return hashCode;
}
@Override
public SkillDetails clone() {
try {
return (SkillDetails) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.alexaforbusiness.model.transform.SkillDetailsMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}