samples/aserverinfo/src/org/apidesign/aserverinfo/builder/ServerConnector.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 21:30:10 +0100
changeset 409 40cabcdcd2be
permissions -rw-r--r--
Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
     1 package org.apidesign.aserverinfo.builder;
     2 
     3 import org.apidesign.aserverinfo.spi.NameProvider;
     4 import org.apidesign.aserverinfo.spi.ResetHandler;
     5 import org.apidesign.aserverinfo.spi.URLProvider;
     6 import java.net.URL;
     7 import org.apidesign.aserverinfo.spi.ShutdownHandler;
     8 
     9 // BEGIN: aserverinfo.builder.api
    10 public final class ServerConnector {
    11     public String getName() {
    12         return name == null ? "noname" : name.getName();
    13     }
    14     
    15     public URL getURL() {
    16         return url == null ? null : url.getURL();
    17     }
    18     
    19     public void reset() {
    20         if (reset != null) {
    21             reset.reset();
    22         }
    23     }
    24 
    25     /** Additional method for API clients not available from first version.
    26      * @since 2.0
    27      */
    28     public void shutdown() {
    29         if (shutdown != null) {
    30             shutdown.shutdown();
    31         }
    32     }
    33 // FINISH: aserverinfo.builder.api
    34 
    35     //
    36     // private part
    37     //
    38 
    39     private final NameProvider name;
    40     private final URLProvider url;
    41     private final ResetHandler reset;
    42     private final ShutdownHandler shutdown;
    43 
    44     ServerConnector(
    45         NameProvider name, URLProvider url,
    46         ResetHandler reset, ShutdownHandler shutdown
    47     ) {
    48         this.name = name;
    49         this.url = url;
    50         this.reset = reset;
    51         this.shutdown = shutdown;
    52     }
    53 }