package com.braintreegateway;
public class SubscriptionOptionsRequest extends Request {
private Boolean doNotInheritAddOnsOrDiscounts;
private SubscriptionRequest parent;
private Boolean prorateCharges;
private Boolean replaceAllAddOnsAndDiscounts;
private Boolean revertSubscriptionOnProrationFailure;
private Boolean startImmediately;
public SubscriptionOptionsRequest(SubscriptionRequest parent) {
this.parent = parent;
}
public SubscriptionRequest done() {
return parent;
}
public SubscriptionOptionsRequest doNotInheritAddOnsOrDiscounts(Boolean doNotInheritAddOnsOrDiscounts) {
this.doNotInheritAddOnsOrDiscounts = doNotInheritAddOnsOrDiscounts;
return this;
}
public SubscriptionOptionsRequest prorateCharges(Boolean prorateCharges) {
this.prorateCharges = prorateCharges;
return this;
}
public SubscriptionOptionsRequest replaceAllAddOnsAndDiscounts(Boolean replaceAllAddonsAndDiscounts) {
this.replaceAllAddOnsAndDiscounts = replaceAllAddonsAndDiscounts;
return this;
}
public SubscriptionOptionsRequest revertSubscriptionOnProrationFailure(Boolean revertSubscriptionOnProrationFailure) {
this.revertSubscriptionOnProrationFailure = revertSubscriptionOnProrationFailure;
return this;
}
public SubscriptionOptionsRequest startImmediately(Boolean startImmediately) {
this.startImmediately = startImmediately;
return this;
}
@Override
public String toXML() {
return buildRequest("options").toXML();
}
protected RequestBuilder buildRequest(String root) {
return new RequestBuilder(root).
addElement("doNotInheritAddOnsOrDiscounts", doNotInheritAddOnsOrDiscounts).
addElement("prorateCharges", prorateCharges).
addElement("replaceAllAddOnsAndDiscounts", replaceAllAddOnsAndDiscounts).
addElement("revertSubscriptionOnProrationFailure", revertSubscriptionOnProrationFailure).
addElement("startImmediately", startImmediately);
}
}