public static class SiLAServer.Builder extends Object
| Modifier and Type | Method and Description |
|---|---|
SiLAServer.Builder |
addFeature(@NonNull FeatureImplementation featureImplementation)
Add a Feature to be exposed
|
SiLAServer.Builder |
addFeature(@NonNull String featureDescription,
@NonNull BindableService featureService)
Add a Feature to be exposed
|
SiLAServer.Builder |
addFeature(@NonNull String featureDescription,
@NonNull ServerServiceDefinition serverServiceFeatureDefinition)
Add a Feature to be exposed
|
Map<String,String> |
getFeatureDefinitions() |
SiLAServer |
start()
Starts and Creates the SiLA Server
|
BinaryDatabase |
withBinaryTransferSupport()
Enable support for binary transfer by creating and using the default H2 binary transfer database implementation
|
SiLAServer.Builder |
withBinaryTransferSupport(@NonNull BinaryDatabase binarySupportImpl)
Enable support for binary transfer
|
static SiLAServer.Builder |
withConfig(@NonNull Path configurationFile,
@NonNull ServerInformation serverInformation)
Create builder for a Server with a persistent configuration file
|
SiLAServer.Builder |
withDiscovery(@NonNull String interfaceName)
Enables Discovery on a certain interface
|
static SiLAServer.Builder |
withoutConfig(@NonNull ServerInformation serverInformation)
Create builder for a Server with a non-persistent configuration
|
SiLAServer.Builder |
withPersistedTLS(@NonNull Path privateKeyFile,
@NonNull Path certificateFile,
String certificatePassword)
Use Persisted TLS certification.
|
SiLAServer.Builder |
withPort(int port)
Define Specific Port for the services (otherwise a default range will be chosen)
|
SiLAServer.Builder |
withTLS(@NonNull X509Certificate certChain,
@NonNull PrivateKey privateKey)
Use TLS certification
|
SiLAServer.Builder |
withUnsafeCommunication(boolean unsafeCommunication)
Deprecated.
Unsafe plain-text communication is forbidden by the SiLA 2 Standard
|
public SiLAServer.Builder withDiscovery(@NonNull @NonNull String interfaceName)
interfaceName - Name of network interface to use discoverypublic SiLAServer.Builder withPort(int port)
port - Port on which the server runs.public SiLAServer.Builder withBinaryTransferSupport(@NonNull @NonNull BinaryDatabase binarySupportImpl)
public SiLAServer.Builder withUnsafeCommunication(boolean unsafeCommunication)
public BinaryDatabase withBinaryTransferSupport()
H2BinaryDatabasepublic SiLAServer.Builder addFeature(@NonNull @NonNull String featureDescription, @NonNull @NonNull BindableService featureService)
featureDescription - Feature Description as String Content in XMLfeatureService - Feature Service implemented with gRPCpublic SiLAServer.Builder addFeature(@NonNull @NonNull FeatureImplementation featureImplementation)
featureImplementation - Exposing both the description and implementationpublic SiLAServer.Builder addFeature(@NonNull @NonNull String featureDescription, @NonNull @NonNull ServerServiceDefinition serverServiceFeatureDefinition)
featureDescription - Feature Description as String Content in XMLserverServiceFeatureDefinition - Server service definition feature implemented with gRPCpublic SiLAServer start() throws IOException
IOExceptionpublic SiLAServer.Builder withTLS(@NonNull @NonNull X509Certificate certChain, @NonNull @NonNull PrivateKey privateKey)
certChain - InputStream certificationprivateKey - InputStream private keypublic SiLAServer.Builder withPersistedTLS(@NonNull @NonNull Path privateKeyFile, @NonNull @NonNull Path certificateFile, @Nullable String certificatePassword)
certificateFile - Path to the private key PEM fileprivateKeyFile - Path to the certificate PEM filecertificatePassword - Password of the certificate if anypublic static SiLAServer.Builder withoutConfig(@NonNull @NonNull ServerInformation serverInformation)
serverInformation - Meta server information defined by the server implementerpublic static SiLAServer.Builder withConfig(@NonNull @NonNull Path configurationFile, @NonNull @NonNull ServerInformation serverInformation) throws IOException
configurationFile - The file persisting the server name and UUID data for that server instanceserverInformation - Meta server information defined by the server implementerIOExceptionCopyright © 2022 SiLA Java Developers. All rights reserved.