ServerLauncher.Builder (Apache Geode 1.12.4)
Date: 2021-07-21

org.apache.geode.distributed

## Class ServerLauncher.Builder

- java.lang.Object
- - org.apache.geode.distributed.ServerLauncher.Builder

- Enclosing class:
    ServerLauncher

      public static class ServerLauncher.Builder
      extends Object

  The Builder class, modeled after the Builder creational design pattern, is used to construct a properly configured and initialized instance of the ServerLauncher to control and run GemFire servers (in particular, cache servers).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static ServerLauncher.Command` | `DEFAULT_COMMAND`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Builder()` Default constructor used to create an instance of the Builder class for programmatical access.
    `Builder(String... args)` Constructor used to create and configure an instance of the Builder class with the specified arguments, passed in from the command-line when launching an instance of this class from the command-line using the Java launcher.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ServerLauncher` | `build()` Validates the Builder configuration settings and then constructs an instance of the ServerLauncher class to invoke operations on a GemFire Server.
    `Boolean` | `getAssignBuckets()` Determines whether buckets should be assigned to partitioned regions in the cache upon Server start.
    `ServerLauncher.Command` | `getCommand()` Gets the Server launcher command used during the invocation of the ServerLauncher.
    `Float` | `getCriticalHeapPercentage()`
    `Float` | `getCriticalOffHeapPercentage()`
    `Boolean` | `getDebug()` Determines whether the new instance of the ServerLauncher will be set to debug mode.
    `Boolean` | `getDeletePidFileOnStop()` Determines whether the Geode Server should delete the pid file when its service stops or when the JVM exits.
    `Boolean` | `getDisableDefaultServer()` Determines whether a default cache server will be added when the Geode Server comes online.
    `Properties` | `getDistributedSystemProperties()` Gets the GemFire Distributed System (cluster) Properties configuration.
    `Float` | `getEvictionHeapPercentage()`
    `Float` | `getEvictionOffHeapPercentage()`
    `Boolean` | `getForce()` Gets the boolean value used by the Server to determine if it should overwrite the PID file if it already exists.
    `Boolean` | `getHelp()` Determines whether the new instance of the ServerLauncher will be used to output help information for either a specific command, or for using ServerLauncher in general.
    `String` | `getHostNameForClients()`
    `Integer` | `getMaxConnections()`
    `Integer` | `getMaxMessageCount()`
    `Integer` | `getMaxThreads()`
    `String` | `getMemberName()` Gets the member name of this Server in GemFire.
    `Integer` | `getMessageTimeToLive()`
    `Integer` | `getPid()` Gets the process ID (PID) of the running Server indicated by the user as an argument to the ServerLauncher.
    `Boolean` | `getRebalance()` Determines whether a rebalance operation on the cache will occur upon starting the GemFire server.
    `Boolean` | `getRedirectOutput()` Determines whether the new instance of ServerLauncher will redirect output to system logs when starting a Server.
    `InetAddress` | `getServerBindAddress()` Gets the IP address to which the Server will be bound listening for and accepting cache client connections in a client/server topology.
    `Integer` | `getServerPort()` Gets the port on which the Server will listen for and accept cache client connections in a client/server topology.
    `Integer` | `getSocketBufferSize()`
    `String` | `getSpringXmlLocation()` Gets the location of the Spring XML configuration meta-data file used to bootstrap, configure and initialize the GemFire Server on start.
    `String` | `getWorkingDirectory()` Gets the working directory pathname in which the Server will be ran.
    `protected boolean` | `isHelping()` Determines whether help has been enabled.
    `protected void` | `parseCommand(String... args)` Iterates the list of arguments in search of the target Server launcher command.
    `protected void` | `parseMemberName(String... args)` Iterates the list of arguments in search of the Server's GemFire member name.
    `ServerLauncher.Builder` | `set(Properties properties)` add the properties in the Gemfire Distributed System Property
    `ServerLauncher.Builder` | `set(String propertyName, String propertyValue)` Sets a GemFire Distributed System Property.
    `ServerLauncher.Builder` | `setAssignBuckets(Boolean assignBuckets)` Sets whether buckets should be assigned to partitioned regions in the cache upon Server start.
    `ServerLauncher.Builder` | `setCommand(ServerLauncher.Command command)` Sets the Sever launcher command used during the invocation of the ServerLauncher
    `ServerLauncher.Builder` | `setCriticalHeapPercentage(Float criticalHeapPercentage)`
    `ServerLauncher.Builder` | `setCriticalOffHeapPercentage(Float criticalOffHeapPercentage)`
    `ServerLauncher.Builder` | `setDebug(Boolean debug)` Sets whether the new instance of the ServerLauncher will be set to debug mode.
    `ServerLauncher.Builder` | `setDeletePidFileOnStop(Boolean deletePidFileOnStop)` Sets whether the Geode Server should delete the pid file when its service stops or when the JVM exits.
    `ServerLauncher.Builder` | `setDisableDefaultServer(Boolean disableDefaultServer)` Sets a boolean value indicating whether to add a default cache when the GemFire Server comes online.
    `ServerLauncher.Builder` | `setEvictionHeapPercentage(Float evictionHeapPercentage)`
    `ServerLauncher.Builder` | `setEvictionOffHeapPercentage(Float evictionOffHeapPercentage)`
    `ServerLauncher.Builder` | `setForce(Boolean force)` Sets the boolean value used by the Server to determine if it should overwrite the PID file if it already exists.
    `ServerLauncher.Builder` | `setHelp(Boolean help)` Sets whether the new instance of ServerLauncher will be used to output help information for either a specific command, or for using ServerLauncher in general.
    `ServerLauncher.Builder` | `setHostNameForClients(String hostNameForClients)`
    `ServerLauncher.Builder` | `setMaxConnections(Integer maxConnections)`
    `ServerLauncher.Builder` | `setMaxMessageCount(Integer maxMessageCount)`
    `ServerLauncher.Builder` | `setMaxThreads(Integer maxThreads)`
    `ServerLauncher.Builder` | `setMemberName(String memberName)` Sets the member name of the Server in GemFire.
    `ServerLauncher.Builder` | `setMessageTimeToLive(Integer messageTimeToLive)`
    `ServerLauncher.Builder` | `setPdxDiskStore(String pdxDiskStore)` Sets the GemFire Disk Store to be used to persist PDX type meta-data.
    `ServerLauncher.Builder` | `setPdxIgnoreUnreadFields(boolean ignore)` Sets whether fields in the PDX instance should be ignored when unread.
    `ServerLauncher.Builder` | `setPdxPersistent(boolean persistent)` Sets whether the PDX type meta-data should be persisted to disk.
    `ServerLauncher.Builder` | `setPdxReadSerialized(boolean readSerialized)` Sets whether PDX instances should be returned as is when Region.get(key:String):Object is called.
    `ServerLauncher.Builder` | `setPdxSerializer(PdxSerializer pdxSerializer)` Set the PdxSerializer to use to serialize POJOs to the GemFire Cache Region or when sent between peers, client/server, or during persistence to disk.
    `ServerLauncher.Builder` | `setPid(Integer pid)` Sets the process ID (PID) of the running Server indicated by the user as an argument to the ServerLauncher.
    `ServerLauncher.Builder` | `setRebalance(Boolean rebalance)` Set a boolean value indicating whether a rebalance operation on the cache should occur upon starting the GemFire server.
    `ServerLauncher.Builder` | `setRedirectOutput(Boolean redirectOutput)` Sets whether the new instance of ServerLauncher will redirect output to system logs when starting a Server.
    `ServerLauncher.Builder` | `setServerBindAddress(String serverBindAddress)` Sets the IP address to which the Server will be bound listening for and accepting cache client connections in a client/server topology.
    `ServerLauncher.Builder` | `setServerPort(Integer serverPort)` Sets the port on which the Server will listen for and accept cache client connections in a client/server topology.
    `ServerLauncher.Builder` | `setSocketBufferSize(Integer socketBufferSize)`
    `ServerLauncher.Builder` | `setSpringXmlLocation(String springXmlLocation)` Sets the location of the Spring XML configuration meta-data file used to bootstrap, configure and initialize the GemFire Server on start.
    `ServerLauncher.Builder` | `setWorkingDirectory(String workingDirectory)` Sets the working directory in which the Server will be ran.
    `protected void` | `validate()` Validates the configuration settings and properties of this Builder, ensuring that all invariants have been met.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_COMMAND

          @Immutable
          protected static final ServerLauncher.Command DEFAULT_COMMAND

  - ### Constructor Detail

    - #### Builder

          public Builder()

      Default constructor used to create an instance of the Builder class for programmatical access.

    - #### Builder

          public Builder(String... args)

      Constructor used to create and configure an instance of the Builder class with the specified arguments, passed in from the command-line when launching an instance of this class from the command-line using the Java launcher.
      Parameters:
        `args` - the array of arguments used to configure the Builder.
      See Also:
        `parseArguments(String...)`

  - ### Method Detail

    - #### parseCommand

          protected void parseCommand(String... args)

      Iterates the list of arguments in search of the target Server launcher command.
      Parameters:
        `args` - an array of arguments from which to search for the Server launcher command.
      See Also:
        `ServerLauncher.Command.valueOfName(String)`, `parseArguments(String...)`

    - #### parseMemberName

          protected void parseMemberName(String... args)

      Iterates the list of arguments in search of the Server's GemFire member name. If the argument does not start with '-' or is not the name of a Server launcher command, then the value is presumed to be the member name for the Server in GemFire.
      Parameters:
        `args` - the array of arguments from which to search for the Server's member name in GemFire.
      See Also:
        `ServerLauncher.Command.isCommand(String)`, `parseArguments(String...)`

    - #### getCommand

          public ServerLauncher.Command getCommand()

      Gets the Server launcher command used during the invocation of the ServerLauncher.
      Returns:
        the Server launcher command used to invoke (run) the ServerLauncher class.
      See Also:
        `setCommand(ServerLauncher.Command)`, `ServerLauncher.Command`

    - #### setCommand

          public ServerLauncher.Builder setCommand(ServerLauncher.Command command)

      Sets the Sever launcher command used during the invocation of the ServerLauncher
      Parameters:
        `command` - the targeted Server launcher command used during the invocation (run) of ServerLauncher.
      Returns:
        this Builder instance.
      See Also:
        `getCommand()`, `ServerLauncher.Command`

    - #### getAssignBuckets

          public Boolean getAssignBuckets()

      Determines whether buckets should be assigned to partitioned regions in the cache upon Server start.
      Returns:
        a boolean indicating if buckets should be assigned upon Server start.
      See Also:
        `setAssignBuckets(Boolean)`

    - #### setAssignBuckets

          public ServerLauncher.Builder setAssignBuckets(Boolean assignBuckets)

      Sets whether buckets should be assigned to partitioned regions in the cache upon Server start.
      Parameters:
        `assignBuckets` - a boolean indicating if buckets should be assigned upon Server start.
      Returns:
        this Builder instance.
      See Also:
        `getAssignBuckets()`

    - #### getDebug

          public Boolean getDebug()

      Determines whether the new instance of the ServerLauncher will be set to debug mode.
      Returns:
        a boolean value indicating whether debug mode is enabled or disabled.
      See Also:
        `setDebug(Boolean)`

    - #### setDebug

          public ServerLauncher.Builder setDebug(Boolean debug)

      Sets whether the new instance of the ServerLauncher will be set to debug mode.
      Parameters:
        `debug` - a boolean value indicating whether debug mode is to be enabled or disabled.
      Returns:
        this Builder instance.
      See Also:
        `getDebug()`

    - #### getDeletePidFileOnStop

          public Boolean getDeletePidFileOnStop()

      Determines whether the Geode Server should delete the pid file when its service stops or when the JVM exits.
      Returns:
        a boolean value indicating if the pid file should be deleted when this service stops or when the JVM exits.
      See Also:
        `setDeletePidFileOnStop(Boolean)`

    - #### setDeletePidFileOnStop

          public ServerLauncher.Builder setDeletePidFileOnStop(Boolean deletePidFileOnStop)

      Sets whether the Geode Server should delete the pid file when its service stops or when the JVM exits.
      Parameters:
        `deletePidFileOnStop` - a boolean value indicating if the pid file should be deleted when this service stops or when the JVM exits.
      Returns:
        this Builder instance.
      See Also:
        `getDeletePidFileOnStop()`

    - #### getDisableDefaultServer

          public Boolean getDisableDefaultServer()

      Determines whether a default cache server will be added when the Geode Server comes online.
      Returns:
        a boolean value indicating whether to add a default cache server.
      See Also:
        `setDisableDefaultServer(Boolean)`

    - #### setDisableDefaultServer

          public ServerLauncher.Builder setDisableDefaultServer(Boolean disableDefaultServer)

      Sets a boolean value indicating whether to add a default cache when the GemFire Server comes online.
      Parameters:
        `disableDefaultServer` - a boolean value indicating whether to add a default cache server.
      Returns:
        this Builder instance.
      See Also:
        `getDisableDefaultServer()`

    - #### getDistributedSystemProperties

          public Properties getDistributedSystemProperties()

      Gets the GemFire Distributed System (cluster) Properties configuration.
      Returns:
        a Properties object containing configuration settings for the GemFire Distributed System (cluster).
      See Also:
        `Properties`

    - #### getForce

          public Boolean getForce()

      Gets the boolean value used by the Server to determine if it should overwrite the PID file if it already exists.
      Returns:
        the boolean value specifying whether or not to overwrite the PID file if it already exists.
      See Also:
        `setForce(Boolean)`

    - #### setForce

          public ServerLauncher.Builder setForce(Boolean force)

      Sets the boolean value used by the Server to determine if it should overwrite the PID file if it already exists.
      Parameters:
        `force` - a boolean value indicating whether to overwrite the PID file when it already exists.
      Returns:
        this Builder instance.
      See Also:
        `getForce()`

    - #### getHelp

          public Boolean getHelp()

      Determines whether the new instance of the ServerLauncher will be used to output help information for either a specific command, or for using ServerLauncher in general.
      Returns:
        a boolean value indicating whether help will be output during the invocation of the ServerLauncher.
      See Also:
        `setHelp(Boolean)`

    - #### isHelping

          protected boolean isHelping()

      Determines whether help has been enabled.
      Returns:
        a boolean indicating if help was enabled.

    - #### setHelp

          public ServerLauncher.Builder setHelp(Boolean help)

      Sets whether the new instance of ServerLauncher will be used to output help information for either a specific command, or for using ServerLauncher in general.
      Parameters:
        `help` - a boolean indicating whether help information is to be displayed during invocation of ServerLauncher.
      Returns:
        this Builder instance.
      See Also:
        `getHelp()`

    - #### getRebalance

          public Boolean getRebalance()

      Determines whether a rebalance operation on the cache will occur upon starting the GemFire server.
      Returns:
        a boolean indicating if the cache will be rebalance when the GemFire server starts.
      See Also:
        `setRebalance(Boolean)`

    - #### setRebalance

          public ServerLauncher.Builder setRebalance(Boolean rebalance)

      Set a boolean value indicating whether a rebalance operation on the cache should occur upon starting the GemFire server.
      Parameters:
        `rebalance` - a boolean indicating if the cache will be rebalanced when the GemFire server starts.
      Returns:
        this Builder instance.
      See Also:
        `getRebalance()`

    - #### getMemberName

          public String getMemberName()

      Gets the member name of this Server in GemFire.
      Returns:
        a String indicating the member name of this Server in GemFire.
      See Also:
        `setMemberName(String)`

    - #### setMemberName

          public ServerLauncher.Builder setMemberName(String memberName)

      Sets the member name of the Server in GemFire.
      Parameters:
        `memberName` - a String indicating the member name of this Server in GemFire.
      Returns:
        this Builder instance.
      Throws:
        `IllegalArgumentException` - if the member name is invalid.
      See Also:
        `getMemberName()`

    - #### getPid

          public Integer getPid()

      Gets the process ID (PID) of the running Server indicated by the user as an argument to the ServerLauncher. This PID is used by the Server launcher to determine the Server's status, or invoke shutdown on the Server.
      Returns:
        a user specified Integer value indicating the process ID of the running Server.
      See Also:
        `setPid(Integer)`

    - #### setPid

          public ServerLauncher.Builder setPid(Integer pid)

      Sets the process ID (PID) of the running Server indicated by the user as an argument to the ServerLauncher. This PID will be used by the Server launcher to determine the Server's status, or invoke shutdown on the Server.
      Parameters:
        `pid` - a user specified Integer value indicating the process ID of the running Server.
      Returns:
        this Builder instance.
      Throws:
        `IllegalArgumentException` - if the process ID (PID) is not valid (greater than zero if not null).
      See Also:
        `getPid()`

    - #### getRedirectOutput

          public Boolean getRedirectOutput()

      Determines whether the new instance of ServerLauncher will redirect output to system logs when starting a Server.
      Returns:
        a boolean value indicating if output will be redirected to system logs when starting a Server
      See Also:
        `setRedirectOutput(Boolean)`

    - #### setRedirectOutput

          public ServerLauncher.Builder setRedirectOutput(Boolean redirectOutput)

      Sets whether the new instance of ServerLauncher will redirect output to system logs when starting a Server.
      Parameters:
        `redirectOutput` - a boolean value indicating if output will be redirected to system logs when starting a Server.
      Returns:
        this Builder instance.
      See Also:
        `getRedirectOutput()`

    - #### getServerBindAddress

          public InetAddress getServerBindAddress()

      Gets the IP address to which the Server will be bound listening for and accepting cache client connections in a client/server topology.
      Returns:
        an InetAddress indicating the IP address that the Server is bound to listening for and accepting cache client connections in a client/server topology.
      See Also:
        `setServerBindAddress(String)`

    - #### setServerBindAddress

          public ServerLauncher.Builder setServerBindAddress(String serverBindAddress)

      Sets the IP address to which the Server will be bound listening for and accepting cache client connections in a client/server topology.
      Parameters:
        `serverBindAddress` - a String specifying the IP address or hostname that the Server will be bound to listen for and accept cache client connections in a client/server topology.
      Returns:
        this Builder instance.
      Throws:
        `IllegalArgumentException` - wrapping the UnknownHostException if the IP address or hostname for the server bind address is unknown.
      See Also:
        `getServerBindAddress()`

    - #### getServerPort

          public Integer getServerPort()

      Gets the port on which the Server will listen for and accept cache client connections in a client/server topology.
      Returns:
        an Integer value specifying the port the Server will listen on and accept cache client connections in a client/server topology.
      See Also:
        `setServerPort(Integer)`

    - #### setServerPort

          public ServerLauncher.Builder setServerPort(Integer serverPort)

      Sets the port on which the Server will listen for and accept cache client connections in a client/server topology.
      Parameters:
        `serverPort` - an Integer value specifying the port the Server will listen on and accept cache client connections in a client/server topology.
      Returns:
        this Builder instance.
      Throws:
        `IllegalArgumentException` - if the port number is not valid.
      See Also:
        `getServerPort()`

    - #### getSpringXmlLocation

          public String getSpringXmlLocation()

      Gets the location of the Spring XML configuration meta-data file used to bootstrap, configure and initialize the GemFire Server on start.

      Returns:
        a String indicating the location of the Spring XML configuration file.
      See Also:
        `setSpringXmlLocation(String)`

    - #### setSpringXmlLocation

          public ServerLauncher.Builder setSpringXmlLocation(String springXmlLocation)

      Sets the location of the Spring XML configuration meta-data file used to bootstrap, configure and initialize the GemFire Server on start.

      Parameters:
        `springXmlLocation` - a String indicating the location of the Spring XML configuration file.
      Returns:
        this Builder instance.
      See Also:
        `getSpringXmlLocation()`

    - #### getWorkingDirectory

          public String getWorkingDirectory()

      Gets the working directory pathname in which the Server will be ran. If the directory is unspecified, then working directory defaults to the current directory.
      Returns:
        a String indicating the working directory pathname.
      See Also:
        `setWorkingDirectory(String)`

    - #### setWorkingDirectory

          public ServerLauncher.Builder setWorkingDirectory(String workingDirectory)

      Sets the working directory in which the Server will be ran. This also the directory in which all Server files (such as log and license files) will be written. If the directory is unspecified, then the working directory defaults to the current directory.
      Parameters:
        `workingDirectory` - a String indicating the pathname of the directory in which the Server will be ran.
      Returns:
        this Builder instance.
      Throws:
        `IllegalArgumentException` - wrapping a FileNotFoundException if the working directory pathname cannot be found.
      See Also:
        `getWorkingDirectory()`, `FileNotFoundException`

    - #### getCriticalHeapPercentage

          public Float getCriticalHeapPercentage()

    - #### setCriticalHeapPercentage

          public ServerLauncher.Builder setCriticalHeapPercentage(Float criticalHeapPercentage)

    - #### getCriticalOffHeapPercentage

          public Float getCriticalOffHeapPercentage()

    - #### setCriticalOffHeapPercentage

          public ServerLauncher.Builder setCriticalOffHeapPercentage(Float criticalOffHeapPercentage)

    - #### getEvictionHeapPercentage

          public Float getEvictionHeapPercentage()

    - #### setEvictionHeapPercentage

          public ServerLauncher.Builder setEvictionHeapPercentage(Float evictionHeapPercentage)

    - #### getEvictionOffHeapPercentage

          public Float getEvictionOffHeapPercentage()

    - #### setEvictionOffHeapPercentage

          public ServerLauncher.Builder setEvictionOffHeapPercentage(Float evictionOffHeapPercentage)

    - #### getHostNameForClients

          public String getHostNameForClients()

    - #### setHostNameForClients

          public ServerLauncher.Builder setHostNameForClients(String hostNameForClients)

    - #### getMaxConnections

          public Integer getMaxConnections()

    - #### setMaxConnections

          public ServerLauncher.Builder setMaxConnections(Integer maxConnections)

    - #### getMaxMessageCount

          public Integer getMaxMessageCount()

    - #### setMaxMessageCount

          public ServerLauncher.Builder setMaxMessageCount(Integer maxMessageCount)

    - #### getMaxThreads

          public Integer getMaxThreads()

    - #### setMaxThreads

          public ServerLauncher.Builder setMaxThreads(Integer maxThreads)

    - #### getMessageTimeToLive

          public Integer getMessageTimeToLive()

    - #### setMessageTimeToLive

          public ServerLauncher.Builder setMessageTimeToLive(Integer messageTimeToLive)

    - #### getSocketBufferSize

          public Integer getSocketBufferSize()

    - #### setSocketBufferSize

          public ServerLauncher.Builder setSocketBufferSize(Integer socketBufferSize)

    - #### set

          public ServerLauncher.Builder set(String propertyName,
                                            String propertyValue)

      Sets a GemFire Distributed System Property.
      Parameters:
        `propertyName` - a String indicating the name of the GemFire Distributed System property as described in `ConfigurationProperties`
        `propertyValue` - a String value for the GemFire Distributed System property.
      Returns:
        this Builder instance.

    - #### set

          public ServerLauncher.Builder set(Properties properties)

      add the properties in the Gemfire Distributed System Property
      Parameters:
        `properties` - a property object that holds one or more Gemfire Distributed System properties as described in `ConfigurationProperties`
      Returns:
        this Builder instance
      Since:
        Geode 1.12

    - #### setPdxPersistent

          public ServerLauncher.Builder setPdxPersistent(boolean persistent)

      Sets whether the PDX type meta-data should be persisted to disk.
      Parameters:
        `persistent` - a boolean indicating whether PDX type meta-data should be persisted to disk.
      Returns:
        this Builder instance.

    - #### setPdxDiskStore

          public ServerLauncher.Builder setPdxDiskStore(String pdxDiskStore)

      Sets the GemFire Disk Store to be used to persist PDX type meta-data.
      Parameters:
        `pdxDiskStore` - a String indicating the name of the GemFire Disk Store to use to store PDX type meta-data
      Returns:
        this Builder instance.

    - #### setPdxIgnoreUnreadFields

          public ServerLauncher.Builder setPdxIgnoreUnreadFields(boolean ignore)

      Sets whether fields in the PDX instance should be ignored when unread.
      Parameters:
        `ignore` - a boolean indicating whether unread fields in the PDX instance should be ignored.
      Returns:
        this Builder instance.

    - #### setPdxReadSerialized

          public ServerLauncher.Builder setPdxReadSerialized(boolean readSerialized)

      Sets whether PDX instances should be returned as is when Region.get(key:String):Object is called.
      Parameters:
        `readSerialized` - a boolean indicating whether the PDX instance should be returned from a call to Region.get(key:String):Object
      Returns:
        this Builder instance.

    - #### setPdxSerializer

          public ServerLauncher.Builder setPdxSerializer(PdxSerializer pdxSerializer)

      Set the PdxSerializer to use to serialize POJOs to the GemFire Cache Region or when sent between peers, client/server, or during persistence to disk.
      Parameters:
        `pdxSerializer` - the PdxSerializer that is used to serialize application domain objects into PDX.
      Returns:
        this Builder instance.

    - #### validate

          protected void validate()

      Validates the configuration settings and properties of this Builder, ensuring that all invariants have been met. Currently, the only invariant constraining the Builder is that the user must specify the member name for the Server in the GemFire distributed system as a command-line argument, or by setting the memberName property programmatically using the corresponding setter method.
      Throws:
        `IllegalStateException` - if the Builder is not properly configured.

    - #### build

          public ServerLauncher build()

      Validates the Builder configuration settings and then constructs an instance of the ServerLauncher class to invoke operations on a GemFire Server.
      Returns:
        a newly constructed instance of the ServerLauncher configured with this Builder.
      See Also:
        `validate()`, `ServerLauncher`