package com.lordofthejars.nosqlunit.couchbase; import java.net.URI; import java.util.ArrayList; import java.util.List; public class RemoteCouchbaseConfigurationBuilder { public static class Builder { private String name; private String password = ""; private String clusterUsername; private String clusterPassword; private List<URI> uris; private boolean createBucket = false; private Builder() { uris = new ArrayList<URI>(); } public static Builder start() { return new Builder(); } public Builder bucketName(final String name) { this.name = name; return this; } public Builder bucketPassword(final String pass) { password = pass; return this; } public Builder serverHost(final String url) { uris.add(URI.create(url)); return this; } public Builder createBucket(boolean createBucket) { this.createBucket = createBucket; return this; } public Builder clusterAuth(String clusterUsername, String clusterPassword) { this.clusterUsername = clusterUsername; this.clusterPassword = clusterPassword; return this; } public CouchbaseConfiguration build() { if (uris.isEmpty()) { uris.add(URI.create("localhost")); } final CouchbaseConfiguration couchbaseConfiguration = new CouchbaseConfiguration(uris, password, name, createBucket ); couchbaseConfiguration.setClusterUsername(clusterUsername); couchbaseConfiguration.setClusterPassword(clusterPassword); return couchbaseConfiguration; } } }