X-Git-Url: https://gerrit.onap.org/r/gitweb?p=dmaap%2Fdatarouter.git;a=blobdiff_plain;f=datarouter-node%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fnode%2FDestInfo.java;h=8890fe96c2d8464afd49ce4cdb86ff1b805c7f38;hp=8aa339f515c225fed98194fd0c69125194c16ce8;hb=8d97ad4cf9b468d22e435537a8a9f2946205f35a;hpb=359b6660ad7ec2ce1f458996d14f6e52edda5a4b diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/DestInfo.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/DestInfo.java index 8aa339f5..8890fe96 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/DestInfo.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/DestInfo.java @@ -41,35 +41,105 @@ public class DestInfo { private boolean decompress; private boolean followRedirects; private String aafInstance; - /** - * Create a destination information object. - * - * @param name n:fqdn or s:subid - * @param spool The directory where files are spooled. - * @param subid The subscription ID (if applicable). - * @param logdata Text to be included in log messages - * @param url The URL to deliver to. - * @param authuser The auth user for logging. - * @param authentication The credentials. - * @param metaonly Is this a metadata only delivery? - * @param use100 Should I use expect 100-continue? - * @param privilegedSubscriber Can we wait to receive a file processed acknowledgement before deleting file - * @param followRedirects Is follow redirect of destination enabled? - * @param decompress To see if the they want there information compressed or decompressed - */ - public DestInfo(String name, String spool, String subid, String logdata, String url, String authuser, String authentication, boolean metaonly, boolean use100, boolean privilegedSubscriber, boolean followRedirects, boolean decompress) { - this.name = name; - this.spool = spool; - this.subid = subid; - this.logdata = logdata; - this.url = url; - this.authuser = authuser; - this.authentication = authentication; - this.metaonly = metaonly; - this.use100 = use100; - this.privilegedSubscriber = privilegedSubscriber; - this.followRedirects = followRedirects; - this.decompress = decompress; + + public static class DestInfoBuilder { + private String name; + private String spool; + private String subid; + private String logdata; + private String url; + private String authuser; + private String authentication; + private boolean metaonly; + private boolean use100; + private boolean privilegedSubscriber; + private boolean followRedirects; + private boolean decompress; + private NodeConfig.ProvSubscription subscription; + + public DestInfoBuilder setName(String name) { + this.name = name; + return this; + } + + public DestInfoBuilder setSpool(String spool) { + this.spool = spool; + return this; + } + + public DestInfoBuilder setSubid(String subid) { + this.subid = subid; + return this; + } + + public DestInfoBuilder setLogdata(String logdata) { + this.logdata = logdata; + return this; + } + + public DestInfoBuilder setUrl(String url) { + this.url = url; + return this; + } + + public DestInfoBuilder setAuthuser(String authuser) { + this.authuser = authuser; + return this; + } + + public DestInfoBuilder setAuthentication(String authentication) { + this.authentication = authentication; + return this; + } + + public DestInfoBuilder setMetaonly(boolean metaonly) { + this.metaonly = metaonly; + return this; + } + + public DestInfoBuilder setUse100(boolean use100) { + this.use100 = use100; + return this; + } + + public DestInfoBuilder setPrivilegedSubscriber(boolean privilegedSubscriber) { + this.privilegedSubscriber = privilegedSubscriber; + return this; + } + + public DestInfoBuilder setFollowRedirects(boolean followRedirects) { + this.followRedirects = followRedirects; + return this; + } + + public DestInfoBuilder setDecompress(boolean decompress) { + this.decompress = decompress; + return this; + } + + public DestInfoBuilder setSubscription(NodeConfig.ProvSubscription subscription) { + this.subscription = subscription; + return this; + } + + public DestInfo createDestInfo() { + return new DestInfo(this); + } + } + + public DestInfo(DestInfoBuilder destInfoBuilder) { + this.name = destInfoBuilder.name; + this.spool = destInfoBuilder.spool; + this.subid = destInfoBuilder.subid; + this.logdata = destInfoBuilder.logdata; + this.url = destInfoBuilder.url; + this.authuser = destInfoBuilder.authuser; + this.authentication = destInfoBuilder.authentication; + this.metaonly = destInfoBuilder.metaonly; + this.use100 = destInfoBuilder.use100; + this.privilegedSubscriber = destInfoBuilder.privilegedSubscriber; + this.followRedirects = destInfoBuilder.followRedirects; + this.decompress = destInfoBuilder.decompress; } /**