![JAR search and dependency download from the Maven repository](/logo.png)
com.jamierf.evohome.EvohomeClientBuilder Maven / Gradle / Ivy
package com.jamierf.evohome;
import static com.google.common.base.Preconditions.*;
import java.net.URI;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.jamierf.evohome.model.Location;
import com.sun.jersey.api.client.Client;
public class EvohomeClientBuilder {
private final Client client;
private URI apiRoot = EvohomeClient.DEFAULT_API_ROOT;
private Predicate locationMatcher = Predicates.alwaysTrue();
public EvohomeClientBuilder( final Client client ) {
this.client = checkNotNull(client);
}
public EvohomeClientBuilder withLocation(final String name) {
checkNotNull(name);
locationMatcher = location -> location.getName().equalsIgnoreCase(name);
return this;
}
public EvohomeClientBuilder withApiRoot(final URI apiRoot) {
this.apiRoot = checkNotNull(apiRoot);
return this;
}
public EvohomeClient build(final String username, final String password) {
return new EvohomeClient(
client,
checkNotNull(username),
checkNotNull(password),
locationMatcher,
apiRoot
);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy