/* * Copyright 2018-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.simpleemailv2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* An object that contains information about your account details. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AccountDetails implements Serializable, Cloneable, StructuredPojo { /** ** The type of email your account is sending. The mail type can be one of the following: *
*
* MARKETING
– Most of your sending traffic is to keep your customers informed of your latest offering.
*
* TRANSACTIONAL
– Most of your sending traffic is to communicate during a transaction with a customer.
*
* The URL of your website. This information helps us better understand the type of content that you plan to send. *
*/ private String websiteURL; /** *
* The language you would prefer for the case. The contact language can be one of ENGLISH
or
* JAPANESE
.
*
* A description of the types of email that you plan to send. *
*/ private String useCaseDescription; /** ** Additional email addresses where updates are sent about your account review process. *
*/ private java.util.List* Information about the review of the latest details you submitted. *
*/ private ReviewDetails reviewDetails; /** ** The type of email your account is sending. The mail type can be one of the following: *
*
* MARKETING
– Most of your sending traffic is to keep your customers informed of your latest offering.
*
* TRANSACTIONAL
– Most of your sending traffic is to communicate during a transaction with a customer.
*
* MARKETING
– Most of your sending traffic is to keep your customers informed of your latest
* offering.
*
* TRANSACTIONAL
– Most of your sending traffic is to communicate during a transaction with a
* customer.
*
* The type of email your account is sending. The mail type can be one of the following: *
*
* MARKETING
– Most of your sending traffic is to keep your customers informed of your latest offering.
*
* TRANSACTIONAL
– Most of your sending traffic is to communicate during a transaction with a customer.
*
* MARKETING
– Most of your sending traffic is to keep your customers informed of your latest
* offering.
*
* TRANSACTIONAL
– Most of your sending traffic is to communicate during a transaction with a
* customer.
*
* The type of email your account is sending. The mail type can be one of the following: *
*
* MARKETING
– Most of your sending traffic is to keep your customers informed of your latest offering.
*
* TRANSACTIONAL
– Most of your sending traffic is to communicate during a transaction with a customer.
*
* MARKETING
– Most of your sending traffic is to keep your customers informed of your latest
* offering.
*
* TRANSACTIONAL
– Most of your sending traffic is to communicate during a transaction with a
* customer.
*
* The type of email your account is sending. The mail type can be one of the following: *
*
* MARKETING
– Most of your sending traffic is to keep your customers informed of your latest offering.
*
* TRANSACTIONAL
– Most of your sending traffic is to communicate during a transaction with a customer.
*
* MARKETING
– Most of your sending traffic is to keep your customers informed of your latest
* offering.
*
* TRANSACTIONAL
– Most of your sending traffic is to communicate during a transaction with a
* customer.
*
* The URL of your website. This information helps us better understand the type of content that you plan to send. *
* * @param websiteURL * The URL of your website. This information helps us better understand the type of content that you plan to * send. */ public void setWebsiteURL(String websiteURL) { this.websiteURL = websiteURL; } /** ** The URL of your website. This information helps us better understand the type of content that you plan to send. *
* * @return The URL of your website. This information helps us better understand the type of content that you plan to * send. */ public String getWebsiteURL() { return this.websiteURL; } /** ** The URL of your website. This information helps us better understand the type of content that you plan to send. *
* * @param websiteURL * The URL of your website. This information helps us better understand the type of content that you plan to * send. * @return Returns a reference to this object so that method calls can be chained together. */ public AccountDetails withWebsiteURL(String websiteURL) { setWebsiteURL(websiteURL); return this; } /** *
* The language you would prefer for the case. The contact language can be one of ENGLISH
or
* JAPANESE
.
*
ENGLISH
or
* JAPANESE
.
* @see ContactLanguage
*/
public void setContactLanguage(String contactLanguage) {
this.contactLanguage = contactLanguage;
}
/**
*
* The language you would prefer for the case. The contact language can be one of ENGLISH
or
* JAPANESE
.
*
ENGLISH
or
* JAPANESE
.
* @see ContactLanguage
*/
public String getContactLanguage() {
return this.contactLanguage;
}
/**
*
* The language you would prefer for the case. The contact language can be one of ENGLISH
or
* JAPANESE
.
*
ENGLISH
or
* JAPANESE
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ContactLanguage
*/
public AccountDetails withContactLanguage(String contactLanguage) {
setContactLanguage(contactLanguage);
return this;
}
/**
*
* The language you would prefer for the case. The contact language can be one of ENGLISH
or
* JAPANESE
.
*
ENGLISH
or
* JAPANESE
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ContactLanguage
*/
public AccountDetails withContactLanguage(ContactLanguage contactLanguage) {
this.contactLanguage = contactLanguage.toString();
return this;
}
/**
* * A description of the types of email that you plan to send. *
* * @param useCaseDescription * A description of the types of email that you plan to send. */ public void setUseCaseDescription(String useCaseDescription) { this.useCaseDescription = useCaseDescription; } /** ** A description of the types of email that you plan to send. *
* * @return A description of the types of email that you plan to send. */ public String getUseCaseDescription() { return this.useCaseDescription; } /** ** A description of the types of email that you plan to send. *
* * @param useCaseDescription * A description of the types of email that you plan to send. * @return Returns a reference to this object so that method calls can be chained together. */ public AccountDetails withUseCaseDescription(String useCaseDescription) { setUseCaseDescription(useCaseDescription); return this; } /** ** Additional email addresses where updates are sent about your account review process. *
* * @return Additional email addresses where updates are sent about your account review process. */ public java.util.List* Additional email addresses where updates are sent about your account review process. *
* * @param additionalContactEmailAddresses * Additional email addresses where updates are sent about your account review process. */ public void setAdditionalContactEmailAddresses(java.util.Collection* Additional email addresses where updates are sent about your account review process. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAdditionalContactEmailAddresses(java.util.Collection)} or * {@link #withAdditionalContactEmailAddresses(java.util.Collection)} if you want to override the existing values. *
* * @param additionalContactEmailAddresses * Additional email addresses where updates are sent about your account review process. * @return Returns a reference to this object so that method calls can be chained together. */ public AccountDetails withAdditionalContactEmailAddresses(String... additionalContactEmailAddresses) { if (this.additionalContactEmailAddresses == null) { setAdditionalContactEmailAddresses(new java.util.ArrayList* Additional email addresses where updates are sent about your account review process. *
* * @param additionalContactEmailAddresses * Additional email addresses where updates are sent about your account review process. * @return Returns a reference to this object so that method calls can be chained together. */ public AccountDetails withAdditionalContactEmailAddresses(java.util.Collection* Information about the review of the latest details you submitted. *
* * @param reviewDetails * Information about the review of the latest details you submitted. */ public void setReviewDetails(ReviewDetails reviewDetails) { this.reviewDetails = reviewDetails; } /** ** Information about the review of the latest details you submitted. *
* * @return Information about the review of the latest details you submitted. */ public ReviewDetails getReviewDetails() { return this.reviewDetails; } /** ** Information about the review of the latest details you submitted. *
* * @param reviewDetails * Information about the review of the latest details you submitted. * @return Returns a reference to this object so that method calls can be chained together. */ public AccountDetails withReviewDetails(ReviewDetails reviewDetails) { setReviewDetails(reviewDetails); 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 (getMailType() != null) sb.append("MailType: ").append(getMailType()).append(","); if (getWebsiteURL() != null) sb.append("WebsiteURL: ").append("***Sensitive Data Redacted***").append(","); if (getContactLanguage() != null) sb.append("ContactLanguage: ").append(getContactLanguage()).append(","); if (getUseCaseDescription() != null) sb.append("UseCaseDescription: ").append("***Sensitive Data Redacted***").append(","); if (getAdditionalContactEmailAddresses() != null) sb.append("AdditionalContactEmailAddresses: ").append("***Sensitive Data Redacted***").append(","); if (getReviewDetails() != null) sb.append("ReviewDetails: ").append(getReviewDetails()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AccountDetails == false) return false; AccountDetails other = (AccountDetails) obj; if (other.getMailType() == null ^ this.getMailType() == null) return false; if (other.getMailType() != null && other.getMailType().equals(this.getMailType()) == false) return false; if (other.getWebsiteURL() == null ^ this.getWebsiteURL() == null) return false; if (other.getWebsiteURL() != null && other.getWebsiteURL().equals(this.getWebsiteURL()) == false) return false; if (other.getContactLanguage() == null ^ this.getContactLanguage() == null) return false; if (other.getContactLanguage() != null && other.getContactLanguage().equals(this.getContactLanguage()) == false) return false; if (other.getUseCaseDescription() == null ^ this.getUseCaseDescription() == null) return false; if (other.getUseCaseDescription() != null && other.getUseCaseDescription().equals(this.getUseCaseDescription()) == false) return false; if (other.getAdditionalContactEmailAddresses() == null ^ this.getAdditionalContactEmailAddresses() == null) return false; if (other.getAdditionalContactEmailAddresses() != null && other.getAdditionalContactEmailAddresses().equals(this.getAdditionalContactEmailAddresses()) == false) return false; if (other.getReviewDetails() == null ^ this.getReviewDetails() == null) return false; if (other.getReviewDetails() != null && other.getReviewDetails().equals(this.getReviewDetails()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getMailType() == null) ? 0 : getMailType().hashCode()); hashCode = prime * hashCode + ((getWebsiteURL() == null) ? 0 : getWebsiteURL().hashCode()); hashCode = prime * hashCode + ((getContactLanguage() == null) ? 0 : getContactLanguage().hashCode()); hashCode = prime * hashCode + ((getUseCaseDescription() == null) ? 0 : getUseCaseDescription().hashCode()); hashCode = prime * hashCode + ((getAdditionalContactEmailAddresses() == null) ? 0 : getAdditionalContactEmailAddresses().hashCode()); hashCode = prime * hashCode + ((getReviewDetails() == null) ? 0 : getReviewDetails().hashCode()); return hashCode; } @Override public AccountDetails clone() { try { return (AccountDetails) 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.simpleemailv2.model.transform.AccountDetailsMarshaller.getInstance().marshall(this, protocolMarshaller); } }