Skip to content

Instantly share code, notes, and snippets.

@kevcodez
Created January 1, 2018 20:22
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kevcodez/226cd1480dad1964ee2cb58b1fcc45ab to your computer and use it in GitHub Desktop.
Save kevcodez/226cd1480dad1964ee2cb58b1fcc45ab to your computer and use it in GitHub Desktop.
Autocloseable Jax-RS Client
import java.net.URI;
import java.util.Map;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Configuration;
import javax.ws.rs.core.Link;
import javax.ws.rs.core.UriBuilder;
public class CloseableClient implements Client, AutoCloseable {
private final Client delegate;
public CloseableClient(Client client) {
this.delegate = client;
}
@Override
public void close() {
delegate.close();
}
@Override
public WebTarget target(String uri) {
return delegate.target(uri);
}
@Override
public WebTarget target(URI uri) {
return delegate.target(uri);
}
@Override
public WebTarget target(UriBuilder uriBuilder) {
return delegate.target(uriBuilder);
}
@Override
public WebTarget target(Link link) {
return delegate.target(link);
}
@Override
public Invocation.Builder invocation(Link link) {
return delegate.invocation(link);
}
@Override
public SSLContext getSslContext() {
return delegate.getSslContext();
}
@Override
public HostnameVerifier getHostnameVerifier() {
return delegate.getHostnameVerifier();
}
@Override
public Configuration getConfiguration() {
return delegate.getConfiguration();
}
@Override
public Client property(String name, Object value) {
return delegate.property(name, value);
}
@Override
public Client register(Class<?> componentClass) {
return delegate.register(componentClass);
}
@Override
public Client register(Class<?> componentClass, int priority) {
return delegate.register(componentClass, priority);
}
@Override
public Client register(Class<?> componentClass, Class<?>... contracts) {
return delegate.register(componentClass, contracts);
}
@Override
public Client register(Class<?> componentClass, Map<Class<?>, Integer> contracts) {
return delegate.register(componentClass, contracts);
}
@Override
public Client register(Object component) {
return delegate.register(component);
}
@Override
public Client register(Object component, int priority) {
return delegate.register(component, priority);
}
@Override
public Client register(Object component, Class<?>... contracts) {
return delegate.register(component, contracts);
}
@Override
public Client register(Object component, Map<Class<?>, Integer> contracts) {
return delegate.register(component, contracts);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment