Package com.complexible.common.protocols.server

# Class ServerOptions

java.lang.Object
com.complexible.common.protocols.server.ServerOptions

public final class ServerOptions extends Object

`Server` configuration options

Since:
  2.0
Version:
  5.0
Author:
  Michael Grove
See Also:
  - `Server`
  - `ServerFactory`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Option<Integer>`
  `ADMIN_THREAD_POOL_SIZE`
  Size of user thread pool
  `static final Option<Boolean>`
  `CLUSTER_FORCE_JOIN`
  Force the node to join an empty cluster, dropping any databases on this node
  `static final Option<Boolean>`
  `CORS_ALLOW_CREDENTIALS`
  Whether to allow credentials to be included in CORS requests for Kerberos authentication defaults to `false`
  `static Option<List<String>>`
  `CORS_ALLOWED_ORIGINS`
  Option to configure the allowed origins for CORS requests
  `static final Option<Boolean>`
  `CORS_ENABLED`
  Whether or not CORS support is enabled defaults to `true`
  `static final Option<Boolean>`
  `GEO_REPLICA_INSECURE`
  Start the geo replica in insecure mode, using http to connect to Stardog Cluster.
  `static final Option<String>`
  `KEY_STORE`
  The path to the key store to be used for SSL.
  `static final Option<char[]>`
  `KEY_STORE_PASSWD`
  The password for the `key store`.
  `static final Option<String>`
  `KEY_STORE_TYPE`
  The type for the `key store`.
  `static final Option<String>`
  `KRB5_ADMIN_PRINCIPAL`
  A krb5 principal that will be initial admin user of Stardog
  `static final Option<Boolean>`
  `KRB5_DEBUG_MODE`
  Boolean to determine if Kerberos debug logging should be on
  `static final Option<String>`
  `KRB5_KEYTAB`
  Key tab for Kerberos
  `static final Option<String>`
  `KRB5_USERNAME_TRANSLATION`
  Regex to translate krb5 names to Stardog names
  `static final Option<Boolean>`
  `REMOTE_SHUTDOWN`
  A flag indicating if the server will accept remote shutdowns
  `static final Option<Boolean>`
  `SECURITY_DISABLE_PASSWORD`
  Option to configure disable username/password authentication (only use gssapi)
  `static final Option<Boolean>`
  `SECURITY_DISABLED`
  Disables ALL security for a server
  `static final Option<String>`
  `SOCKET_WRITE_TIMEOUT`
  Write timeout duration for a socket.
  `static final Option<Boolean>`
  `SSL_CERT_REQUIRED`
  Option to control whether or not the client *must* provide a valid certificate when establishing the SSL connection.
  `static final Option<Boolean>`
  `SSL_ENABLED`
  Option to enable SSL for the server.
  `static final Option<Boolean>`
  `SSL_REQUIRED`
  Option to require SSL; this will force clients to use SSL if they with to obtain a connection to the server.
  `static final Option<String>`
  `TRUST_STORE`
  The path to the trust store to be used for SSL.
  `static final Option<char[]>`
  `TRUST_STORE_PASSWD`
  The password for the `key store`.
  `static final Option<String>`
  `TRUST_STORE_TYPE`
  The type for the `trust store`.
  `static final Option<Integer>`
  `USER_THREAD_POOL_SIZE`
  Size of user thread pool

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Options`
  `defaults()`
  `static Options`
  `secure()`
  Return the options for creating a 'secure' server, SSL is both enabled and required.

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

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

- ## Field Details

  - ### SSL_ENABLED

    public static final Option<Boolean> SSL_ENABLED
    Option to enable SSL for the server. When this option is true, the server will support clients connecting over SSL

  - ### SSL_REQUIRED

    public static final Option<Boolean> SSL_REQUIRED
    Option to require SSL; this will force clients to use SSL if they with to obtain a connection to the server. This implicitly enables SSL

  - ### SSL_CERT_REQUIRED

    public static final Option<Boolean> SSL_CERT_REQUIRED
    Option to control whether or not the client *must* provide a valid certificate when establishing the SSL connection. Default, false.

  - ### KEY_STORE

    public static final Option<String> KEY_STORE
    The path to the key store to be used for SSL. Defaults to the value of the JVM property `javax.net.ssl.keyStore`

  - ### KEY_STORE_PASSWD

    public static final Option<char[]> KEY_STORE_PASSWD
    The password for the `key store`. Defaults to the value of the JVM property `javax.net.ssl.keyStorePassword`

  - ### KEY_STORE_TYPE

    public static final Option<String> KEY_STORE_TYPE
    The type for the `key store`. Defaults to the value of the JVM property `javax.net.ssl.keyStoreType` and if that is not set, then it defaults to `JKS`

  - ### TRUST_STORE

    public static final Option<String> TRUST_STORE
    The path to the trust store to be used for SSL. Defaults to the value of the JVM property `javax.net.ssl.trustStoree`

  - ### TRUST_STORE_PASSWD

    public static final Option<char[]> TRUST_STORE_PASSWD
    The password for the `key store`. Defaults to the value of the JVM property `javax.net.ssl.trustStorePassword`

  - ### TRUST_STORE_TYPE

    public static final Option<String> TRUST_STORE_TYPE
    The type for the `trust store`. Defaults to the value of the JVM property `javax.net.ssl.trustStoreType` and if that is not set, then it defaults to `JKS`

  - ### SECURITY_DISABLED

    public static final Option<Boolean> SECURITY_DISABLED
    Disables ALL security for a server

  - ### SECURITY_DISABLE_PASSWORD

    public static final Option<Boolean> SECURITY_DISABLE_PASSWORD
    Option to configure disable username/password authentication (only use gssapi)

  - ### CORS_ALLOWED_ORIGINS

    public static Option<List<String>> CORS_ALLOWED_ORIGINS
    Option to configure the allowed origins for CORS requests

  - ### CORS_ALLOW_CREDENTIALS

    public static final Option<Boolean> CORS_ALLOW_CREDENTIALS
    Whether to allow credentials to be included in CORS requests for Kerberos authentication defaults to `false`

  - ### CORS_ENABLED

    public static final Option<Boolean> CORS_ENABLED
    Whether or not CORS support is enabled defaults to `true`
    See Also:
      - `CORS_ALLOWED_ORIGINS`

  - ### USER_THREAD_POOL_SIZE

    public static final Option<Integer> USER_THREAD_POOL_SIZE
    Size of user thread pool

  - ### ADMIN_THREAD_POOL_SIZE

    public static final Option<Integer> ADMIN_THREAD_POOL_SIZE
    Size of user thread pool

  - ### KRB5_KEYTAB

    public static final Option<String> KRB5_KEYTAB
    Key tab for Kerberos

  - ### KRB5_DEBUG_MODE

    public static final Option<Boolean> KRB5_DEBUG_MODE
    Boolean to determine if Kerberos debug logging should be on

  - ### KRB5_USERNAME_TRANSLATION

    public static final Option<String> KRB5_USERNAME_TRANSLATION
    Regex to translate krb5 names to Stardog names

  - ### KRB5_ADMIN_PRINCIPAL

    public static final Option<String> KRB5_ADMIN_PRINCIPAL
    A krb5 principal that will be initial admin user of Stardog

  - ### REMOTE_SHUTDOWN

    public static final Option<Boolean> REMOTE_SHUTDOWN
    A flag indicating if the server will accept remote shutdowns

  - ### SOCKET_WRITE_TIMEOUT

    public static final Option<String> SOCKET_WRITE_TIMEOUT
    Write timeout duration for a socket. If the given amount of time elapses without a successful write taking place, the server's next write to the socket will throw an exception. defaults to `10m`

  - ### CLUSTER_FORCE_JOIN

    public static final Option<Boolean> CLUSTER_FORCE_JOIN
    Force the node to join an empty cluster, dropping any databases on this node

  - ### GEO_REPLICA_INSECURE

    public static final Option<Boolean> GEO_REPLICA_INSECURE
    Start the geo replica in insecure mode, using http to connect to Stardog Cluster.

- ## Method Details

  - ### defaults

    public static Options defaults()

  - ### secure

    public static Options secure()
    Return the options for creating a 'secure' server, SSL is both enabled and required.
    Returns:
      the options