/* * Copyright 2010-2020 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.simpleemail.model; import java.io.Serializable; /** *

* Represents the details of a configuration set. Configuration sets enable you * to publish email sending events. For information about using configuration * sets, see the Amazon SES Developer Guide. *

*/ public class DescribeConfigurationSetResult implements Serializable { /** *

* The configuration set object associated with the specified configuration * set. *

*/ private ConfigurationSet configurationSet; /** *

* A list of event destinations associated with the configuration set. *

*/ private java.util.List eventDestinations = new java.util.ArrayList(); /** *

* The name of the custom open and click tracking domain associated with the * configuration set. *

*/ private TrackingOptions trackingOptions; /** *

* Specifies whether messages that use the configuration set are required to * use Transport Layer Security (TLS). *

*/ private DeliveryOptions deliveryOptions; /** *

* An object that represents the reputation settings for the configuration * set. *

*/ private ReputationOptions reputationOptions; /** *

* The configuration set object associated with the specified configuration * set. *

* * @return

* The configuration set object associated with the specified * configuration set. *

*/ public ConfigurationSet getConfigurationSet() { return configurationSet; } /** *

* The configuration set object associated with the specified configuration * set. *

* * @param configurationSet

* The configuration set object associated with the specified * configuration set. *

*/ public void setConfigurationSet(ConfigurationSet configurationSet) { this.configurationSet = configurationSet; } /** *

* The configuration set object associated with the specified configuration * set. *

*

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

* The configuration set object associated with the specified * configuration set. *

* @return A reference to this updated object so that method calls can be * chained together. */ public DescribeConfigurationSetResult withConfigurationSet(ConfigurationSet configurationSet) { this.configurationSet = configurationSet; return this; } /** *

* A list of event destinations associated with the configuration set. *

* * @return

* A list of event destinations associated with the configuration * set. *

*/ public java.util.List getEventDestinations() { return eventDestinations; } /** *

* A list of event destinations associated with the configuration set. *

* * @param eventDestinations

* A list of event destinations associated with the configuration * set. *

*/ public void setEventDestinations(java.util.Collection eventDestinations) { if (eventDestinations == null) { this.eventDestinations = null; return; } this.eventDestinations = new java.util.ArrayList(eventDestinations); } /** *

* A list of event destinations associated with the configuration set. *

*

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

* A list of event destinations associated with the configuration * set. *

* @return A reference to this updated object so that method calls can be * chained together. */ public DescribeConfigurationSetResult withEventDestinations( EventDestination... eventDestinations) { if (getEventDestinations() == null) { this.eventDestinations = new java.util.ArrayList( eventDestinations.length); } for (EventDestination value : eventDestinations) { this.eventDestinations.add(value); } return this; } /** *

* A list of event destinations associated with the configuration set. *

*

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

* A list of event destinations associated with the configuration * set. *

* @return A reference to this updated object so that method calls can be * chained together. */ public DescribeConfigurationSetResult withEventDestinations( java.util.Collection eventDestinations) { setEventDestinations(eventDestinations); return this; } /** *

* The name of the custom open and click tracking domain associated with the * configuration set. *

* * @return

* The name of the custom open and click tracking domain associated * with the configuration set. *

*/ public TrackingOptions getTrackingOptions() { return trackingOptions; } /** *

* The name of the custom open and click tracking domain associated with the * configuration set. *

* * @param trackingOptions

* The name of the custom open and click tracking domain * associated with the configuration set. *

*/ public void setTrackingOptions(TrackingOptions trackingOptions) { this.trackingOptions = trackingOptions; } /** *

* The name of the custom open and click tracking domain associated with the * configuration set. *

*

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

* The name of the custom open and click tracking domain * associated with the configuration set. *

* @return A reference to this updated object so that method calls can be * chained together. */ public DescribeConfigurationSetResult withTrackingOptions(TrackingOptions trackingOptions) { this.trackingOptions = trackingOptions; return this; } /** *

* Specifies whether messages that use the configuration set are required to * use Transport Layer Security (TLS). *

* * @return

* Specifies whether messages that use the configuration set are * required to use Transport Layer Security (TLS). *

*/ public DeliveryOptions getDeliveryOptions() { return deliveryOptions; } /** *

* Specifies whether messages that use the configuration set are required to * use Transport Layer Security (TLS). *

* * @param deliveryOptions

* Specifies whether messages that use the configuration set are * required to use Transport Layer Security (TLS). *

*/ public void setDeliveryOptions(DeliveryOptions deliveryOptions) { this.deliveryOptions = deliveryOptions; } /** *

* Specifies whether messages that use the configuration set are required to * use Transport Layer Security (TLS). *

*

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

* Specifies whether messages that use the configuration set are * required to use Transport Layer Security (TLS). *

* @return A reference to this updated object so that method calls can be * chained together. */ public DescribeConfigurationSetResult withDeliveryOptions(DeliveryOptions deliveryOptions) { this.deliveryOptions = deliveryOptions; return this; } /** *

* An object that represents the reputation settings for the configuration * set. *

* * @return

* An object that represents the reputation settings for the * configuration set. *

*/ public ReputationOptions getReputationOptions() { return reputationOptions; } /** *

* An object that represents the reputation settings for the configuration * set. *

* * @param reputationOptions

* An object that represents the reputation settings for the * configuration set. *

*/ public void setReputationOptions(ReputationOptions reputationOptions) { this.reputationOptions = reputationOptions; } /** *

* An object that represents the reputation settings for the configuration * set. *

*

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

* An object that represents the reputation settings for the * configuration set. *

* @return A reference to this updated object so that method calls can be * chained together. */ public DescribeConfigurationSetResult withReputationOptions(ReputationOptions reputationOptions) { this.reputationOptions = reputationOptions; 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 (getConfigurationSet() != null) sb.append("ConfigurationSet: " + getConfigurationSet() + ","); if (getEventDestinations() != null) sb.append("EventDestinations: " + getEventDestinations() + ","); if (getTrackingOptions() != null) sb.append("TrackingOptions: " + getTrackingOptions() + ","); if (getDeliveryOptions() != null) sb.append("DeliveryOptions: " + getDeliveryOptions() + ","); if (getReputationOptions() != null) sb.append("ReputationOptions: " + getReputationOptions()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getConfigurationSet() == null) ? 0 : getConfigurationSet().hashCode()); hashCode = prime * hashCode + ((getEventDestinations() == null) ? 0 : getEventDestinations().hashCode()); hashCode = prime * hashCode + ((getTrackingOptions() == null) ? 0 : getTrackingOptions().hashCode()); hashCode = prime * hashCode + ((getDeliveryOptions() == null) ? 0 : getDeliveryOptions().hashCode()); hashCode = prime * hashCode + ((getReputationOptions() == null) ? 0 : getReputationOptions().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DescribeConfigurationSetResult == false) return false; DescribeConfigurationSetResult other = (DescribeConfigurationSetResult) obj; if (other.getConfigurationSet() == null ^ this.getConfigurationSet() == null) return false; if (other.getConfigurationSet() != null && other.getConfigurationSet().equals(this.getConfigurationSet()) == false) return false; if (other.getEventDestinations() == null ^ this.getEventDestinations() == null) return false; if (other.getEventDestinations() != null && other.getEventDestinations().equals(this.getEventDestinations()) == false) return false; if (other.getTrackingOptions() == null ^ this.getTrackingOptions() == null) return false; if (other.getTrackingOptions() != null && other.getTrackingOptions().equals(this.getTrackingOptions()) == false) return false; if (other.getDeliveryOptions() == null ^ this.getDeliveryOptions() == null) return false; if (other.getDeliveryOptions() != null && other.getDeliveryOptions().equals(this.getDeliveryOptions()) == false) return false; if (other.getReputationOptions() == null ^ this.getReputationOptions() == null) return false; if (other.getReputationOptions() != null && other.getReputationOptions().equals(this.getReputationOptions()) == false) return false; return true; } }