1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/samples/aserverinfo/src/org/apidesign/aserverinfo/builder/ServerConnector.java Sat Nov 15 08:19:20 2008 +0100
1.3 @@ -0,0 +1,53 @@
1.4 +package org.apidesign.aserverinfo.builder;
1.5 +
1.6 +import org.apidesign.aserverinfo.spi.NameProvider;
1.7 +import org.apidesign.aserverinfo.spi.ResetHandler;
1.8 +import org.apidesign.aserverinfo.spi.URLProvider;
1.9 +import java.net.URL;
1.10 +import org.apidesign.aserverinfo.spi.ShutdownHandler;
1.11 +
1.12 +// BEGIN: aserverinfo.builder.api
1.13 +public final class ServerConnector {
1.14 + public String getName() {
1.15 + return name == null ? "noname" : name.getName();
1.16 + }
1.17 +
1.18 + public URL getURL() {
1.19 + return url == null ? null : url.getURL();
1.20 + }
1.21 +
1.22 + public void reset() {
1.23 + if (reset != null) {
1.24 + reset.reset();
1.25 + }
1.26 + }
1.27 +
1.28 + /** Additional method for API clients not available from first version.
1.29 + * @since 2.0
1.30 + */
1.31 + public void shutdown() {
1.32 + if (shutdown != null) {
1.33 + shutdown.shutdown();
1.34 + }
1.35 + }
1.36 +// FINISH: aserverinfo.builder.api
1.37 +
1.38 + //
1.39 + // private part
1.40 + //
1.41 +
1.42 + private final NameProvider name;
1.43 + private final URLProvider url;
1.44 + private final ResetHandler reset;
1.45 + private final ShutdownHandler shutdown;
1.46 +
1.47 + ServerConnector(
1.48 + NameProvider name, URLProvider url,
1.49 + ResetHandler reset, ShutdownHandler shutdown
1.50 + ) {
1.51 + this.name = name;
1.52 + this.url = url;
1.53 + this.reset = reset;
1.54 + this.shutdown = shutdown;
1.55 + }
1.56 +}