/*
* Copyright 2010-2016 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.transform;
import com.amazonaws.AmazonClientException;
import com.amazonaws.Request;
import com.amazonaws.DefaultRequest;
import com.amazonaws.services.simpleemail.model.*;
import com.amazonaws.transform.Marshaller;
import com.amazonaws.util.StringUtils;
/**
* StAX request marshaller for SendBounceRequest
*/
public class SendBounceRequestMarshaller implements
Marshaller<Request<SendBounceRequest>, SendBounceRequest> {
public Request<SendBounceRequest> marshall(SendBounceRequest sendBounceRequest) {
if (sendBounceRequest == null) {
throw new AmazonClientException(
"Invalid argument passed to marshall(SendBounceRequest)");
}
Request<SendBounceRequest> request = new DefaultRequest<SendBounceRequest>(
sendBounceRequest, "AmazonSimpleEmailService");
request.addParameter("Action", "SendBounce");
request.addParameter("Version", "2010-12-01");
String prefix;
if (sendBounceRequest.getOriginalMessageId() != null) {
prefix = "OriginalMessageId";
String originalMessageId = sendBounceRequest.getOriginalMessageId();
request.addParameter(prefix, StringUtils.fromString(originalMessageId));
}
if (sendBounceRequest.getBounceSender() != null) {
prefix = "BounceSender";
String bounceSender = sendBounceRequest.getBounceSender();
request.addParameter(prefix, StringUtils.fromString(bounceSender));
}
if (sendBounceRequest.getExplanation() != null) {
prefix = "Explanation";
String explanation = sendBounceRequest.getExplanation();
request.addParameter(prefix, StringUtils.fromString(explanation));
}
if (sendBounceRequest.getMessageDsn() != null) {
prefix = "MessageDsn";
MessageDsn messageDsn = sendBounceRequest.getMessageDsn();
MessageDsnStaxMarshaller.getInstance().marshall(messageDsn, request, prefix + ".");
}
if (sendBounceRequest.getBouncedRecipientInfoList() != null) {
prefix = "BouncedRecipientInfoList";
java.util.List<BouncedRecipientInfo> bouncedRecipientInfoList = sendBounceRequest
.getBouncedRecipientInfoList();
int bouncedRecipientInfoListIndex = 1;
String bouncedRecipientInfoListPrefix = prefix;
for (BouncedRecipientInfo bouncedRecipientInfoListItem : bouncedRecipientInfoList) {
prefix = bouncedRecipientInfoListPrefix + ".member."
+ bouncedRecipientInfoListIndex;
if (bouncedRecipientInfoListItem != null) {
BouncedRecipientInfoStaxMarshaller.getInstance().marshall(
bouncedRecipientInfoListItem, request, prefix + ".");
}
bouncedRecipientInfoListIndex++;
}
prefix = bouncedRecipientInfoListPrefix;
}
if (sendBounceRequest.getBounceSenderArn() != null) {
prefix = "BounceSenderArn";
String bounceSenderArn = sendBounceRequest.getBounceSenderArn();
request.addParameter(prefix, StringUtils.fromString(bounceSenderArn));
}
return request;
}
}