jtulach@294: package org.apidesign.aserverinfo.builder; jtulach@294: jtulach@294: import org.apidesign.aserverinfo.spi.NameProvider; jtulach@294: import org.apidesign.aserverinfo.spi.ResetHandler; jtulach@294: import org.apidesign.aserverinfo.spi.URLProvider; jtulach@294: import java.net.URL; jtulach@294: import org.apidesign.aserverinfo.spi.ShutdownHandler; jtulach@294: jtulach@294: // BEGIN: aserverinfo.builder.api jtulach@294: public final class ServerConnector { jtulach@294: public String getName() { jtulach@294: return name == null ? "noname" : name.getName(); jtulach@294: } jtulach@294: jtulach@294: public URL getURL() { jtulach@294: return url == null ? null : url.getURL(); jtulach@294: } jtulach@294: jtulach@294: public void reset() { jtulach@294: if (reset != null) { jtulach@294: reset.reset(); jtulach@294: } jtulach@294: } jtulach@294: jtulach@294: /** Additional method for API clients not available from first version. jtulach@294: * @since 2.0 jtulach@294: */ jtulach@294: public void shutdown() { jtulach@294: if (shutdown != null) { jtulach@294: shutdown.shutdown(); jtulach@294: } jtulach@294: } jtulach@294: // FINISH: aserverinfo.builder.api jtulach@294: jtulach@294: // jtulach@294: // private part jtulach@294: // jtulach@294: jtulach@294: private final NameProvider name; jtulach@294: private final URLProvider url; jtulach@294: private final ResetHandler reset; jtulach@294: private final ShutdownHandler shutdown; jtulach@294: jtulach@294: ServerConnector( jtulach@294: NameProvider name, URLProvider url, jtulach@294: ResetHandler reset, ShutdownHandler shutdown jtulach@294: ) { jtulach@294: this.name = name; jtulach@294: this.url = url; jtulach@294: this.reset = reset; jtulach@294: this.shutdown = shutdown; jtulach@294: } jtulach@294: }