package hudson.plugins.ec2.win.winrm.soap; import java.net.URI; import java.util.List; import com.google.common.collect.ImmutableList; public class HeaderBuilder { private String to; private String replyTo; private String maxEnvelopeSize; private String timeout; private String locale; private String id; private String action; private String shellId; private String resourceURI; private ImmutableList<Option> optionSet; HeaderBuilder() { } public HeaderBuilder to(URI address) { to = address.toString(); return this; } public HeaderBuilder replyTo(URI address) { replyTo = address.toString(); return this; } public HeaderBuilder maxEnvelopeSize(int size) { maxEnvelopeSize = Integer.toString(size); return this; } public HeaderBuilder id(String id) { this.id = id; return this; } public HeaderBuilder locale(String locale) { this.locale = locale; return this; } public HeaderBuilder timeout(String timeout) { this.timeout = timeout; return this; } public HeaderBuilder action(URI uri) { this.action = uri.toString(); return this; } public HeaderBuilder shellId(String shellId) { this.shellId = shellId; return this; } public HeaderBuilder resourceURI(URI uri) { this.resourceURI = uri.toString(); return this; } public HeaderBuilder options(List<Option> options) { this.optionSet = ImmutableList.copyOf(options); return this; } public Header build() { return new Header(to, replyTo, maxEnvelopeSize, timeout, locale, id, action, shellId, resourceURI, optionSet); } }