Package com.iizix.prop
Interface IWebServerPortConfig
- All Known Implementing Classes:
EditorWebServerPortConfig
,WebServerPortConfig
public interface IWebServerPortConfig
Interface for the configuration of a Port "group" of the web server. A port group is defines a bind address for a single or a range of ports to use, and the protocol to bind to (HTTP or HTTPS).
Method Summary
Modifier and TypeMethodDescriptionGets the bind address.Gets the description of the port configuration.String[]
Gets the excluded secure protocols.Gets the KeyStore from a PKCS#12 identity property and password.getKeyStore
(StringBuilder pwReturn) Gets the KeyStore from a PKCS#12 identity property and password.Gets the KeyStore password.Gets the Let's Encrypt domain name(s) associated with this port configuration.Gets a new set of Let's Encrypt domain name(s) associated with this port configuration.Gets the description of the port configuration.int
Gets the port end in a range.int
Gets the port start in a range.<T> T
getProperty
(String name, Class<T> propClass) Gets a runtime property based on a HashMap.int
Gets the protocol to use.getType()
Gets the type of port: HTTP or HTTPS.boolean
Returns if the connection is secure by means of a front-end proxy, load balancer, etc.void
setConfig
(PortConfig config) Sets the Jetty server connector configuration used with this configuration.<T> T
setProperty
(String name, T property, Class<T> propClass) Sets a runtime property based on a HashMap.
Method Details
getType
String getType()Gets the type of port: HTTP or HTTPS.- Returns:
- The type string, or "Undefined" if undefined.
getDescription
String getDescription()Gets the description of the port configuration.- Returns:
- The description, "ports NN to MM, PROTOCOL" or "port NN, PROTOCOL" if not defined.
getPortDescription
String getPortDescription()Gets the description of the port configuration.- Returns:
- The description, "ports NN to MM, PROTOCOL" or "port NN, PROTOCOL" if not defined.
getPortStart
int getPortStart()Gets the port start in a range.- Returns:
- The port start, or -1 if not defined.
getPortEnd
int getPortEnd()Gets the port end in a range.- Returns:
- The port end, or "getPortStart()" value if not defined.
getProtocol
int getProtocol()Gets the protocol to use.- Returns:
- The protocol: 0=HTTP, 1=HTTPS, or -1 if not defined.
isFrontEndSecured
boolean isFrontEndSecured()Returns if the connection is secure by means of a front-end proxy, load balancer, etc. This means that the protocol can be HTTP but still be secure.- Returns:
- true if secure and HTTPS is used by the client side, false otherwise.
getBindAddress
String getBindAddress()Gets the bind address.- Returns:
- The bind address, or null if not defined (never empty string).
getKeyStorePassword
String getKeyStorePassword()Gets the KeyStore password.- Returns:
- The password, null for none.
getKeyStore
KeyStore getKeyStore() throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException, UnrecoverableEntryExceptionGets the KeyStore from a PKCS#12 identity property and password.- Returns:
- The configured KeyStore, or null if not defined.
- Throws:
KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the KeyStore cannot be found.CertificateException
- If any of the certificates in the KeyStore could not be loaded or the Let's Encrypt domain was not found and this configuration is associated with Let's Encrypt.IOException
- If there is an I/O or format problem with the KeyStore data, if a password is required but not given, or if the given password was incorrect. If the error is due to a wrong password, the cause of the IOException should be an UnrecoverableKeyException.UnrecoverableEntryException
- For errors in keystore.
getKeyStore
KeyStore getKeyStore(StringBuilder pwReturn) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException, UnrecoverableEntryException Gets the KeyStore from a PKCS#12 identity property and password. If the configuration is associated with a Let's Encrypt domain- Parameters:
pwReturn
- A StringBuilder instance that is filled with the password, null for none.- Returns:
- The configured KeyStore, or null if not defined.
- Throws:
KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the KeyStore cannot be found.CertificateException
- If any of the certificates in the KeyStore could not be loaded or the Let's Encrypt domain was not found and this configuration is associated with Let's Encrypt.IOException
- If there is an I/O or format problem with the KeyStore data, if a password is required but not given, or if the given password was incorrect. If the error is due to a wrong password, the cause of the IOException should be an UnrecoverableKeyException.UnrecoverableEntryException
- For errors in keystore.
setProperty
Sets a runtime property based on a HashMap.- Parameters:
name
- The property name.property
- The property, or null to remove it.propClass
- The class of the property to return if replaced.- Returns:
- The previous property, null for none.
- Throws:
ClassCastException
- If the object is not null and is not assignable to the type T.
getProperty
Gets a runtime property based on a HashMap.- Parameters:
name
- The property name.propClass
- The class of the property to return if replaced.- Returns:
- The property, null if not previously set.
- Throws:
ClassCastException
- If the object is not null and is not assignable to the type T.
getLetsEncryptDomainNames
String getLetsEncryptDomainNames()Gets the Let's Encrypt domain name(s) associated with this port configuration.- Returns:
- The domain name(s) as e.g. "hello.example.com", or null if not associated with Let's Encrypt.
getLetsEncryptDomainNamesSet
Gets a new set of Let's Encrypt domain name(s) associated with this port configuration.- Returns:
- The domain name(s) as e.g. "hello.example.com", or empty list if not associated with Let's Encrypt.
setConfig
Sets the Jetty server connector configuration used with this configuration.- Parameters:
config
- The configuration instance.
getExcludedSecureProtocols
String[] getExcludedSecureProtocols()Gets the excluded secure protocols.- Returns:
- Empty string for none, otherwise e.g. "TLSv1", "TLSv1.1".