Package com.iizix.server.prop
Class ServerConfigEnvProps
- java.lang.Object
- com.iizix.prop.GProp<GProp<?>[]>
- com.iizix.prop.PropCnr
- com.iizix.server.prop.ServerConfigEnvProps
- All Implemented Interfaces:
EventListener
,IGProp<GProp<?>[]>
,IPropCnr
,java.lang.Cloneable
- Direct Known Subclasses:
EditorServerConfigEnvProps
public class ServerConfigEnvProps extends PropCnr
This configuration environment defines the configuration setup for the available plug-ins. Several configuration environments may be present in a Server, e.g. "development", "test", "acceptance", "preproduction" and "production".
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ALLOW_PARALLEL_SESSIONS
Property name: Allow parallel sessions.static java.lang.String
ALLOWED_DOMAINS
Property name: Allowed domains.static java.lang.String
APP_TIMEOUT
Property name: App session timeout.static java.lang.String
CUSTOM_APP_SETTINGS
Property name: Custom app settings.static java.lang.String
MAX_CLIENTS_PER_APP_SESSION
Property name: Max client sessions/app session.static java.lang.String
REQUIRE_TLS
Property name: Require TLS.Fields inherited from class com.iizix.prop.PropCnr
EMPTY, EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_ID
Fields inherited from class com.iizix.prop.GProp
GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_USER_1, PROP_USER_2
Fields inherited from interface com.iizix.prop.IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_PRIVATE, EQC_SAVE_FILE, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATE
Constructor Summary
Constructors Constructor Description ServerConfigEnvProps()
Creates the configuration environment properties without a name.ServerConfigEnvProps(Atom atom)
Creates the configuration environment properties with an atom manager.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ServerConfigEnvProps
clone()
Creates a clone out of this property.java.lang.String
getAllowedDomains()
Gets the allowed domains that are allowed access to this environment.java.util.Set<java.lang.String>
getAllowedDomainSet()
Gets the different domain names as String set.long
getAppTimeout()
Gets the timeout before an app session is disposed of when no more client sessions are present, default 1 hour.java.lang.String
getCustomAppValue(java.lang.String key)
Gets a value for a key in the custom app properties.java.lang.String
getDescription()
Gets the description of this configuration environment.int
getMaxClientsPerAppSession()
Gets the maximum number of clients sessions per app session, zero = no limit.ServerPluginConfig[]
getPluginConfigs()
Gets the server plug-in configurations in the environment, normally one per plug-in type.IServerApplicationSetupPropCnr[]
getServerApplicationSetup(java.lang.String pluginID)
Gets the configuration setup's for a plug-in with specified ID.boolean
isDomainAccessAllowed(java.lang.String domain, boolean isSecure)
Checks if a domain is allowed access to this environment.boolean
isTLSRequired()
Returns if access to this environment requires TLS.boolean
isUserParallelSessionsAllowed()
Gets the flag indicating if a user is allowed to start multiple parallel sessions or if just one per user and app is allowed (default true).void
onAppSessionEndPoint(EndPointPropCnr cnr, AppSessionGyro appGyro)
Called when a new end point property container is added for a server monitor instance.protected void
onPropInvalidateCache()
Invalidates a potential cache in this property.Methods inherited from class com.iizix.prop.PropCnr
__transferChildProps, addPredefinedProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, convertLoadedProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, createVSReference, doPropEqualsArrayValues, doVirtualizePropCnr, enablePropCommunication, enablePropHashMap, equalsTree, equalsTree, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsContainer, getExtendsError, getExtendsName, getExtendsOverride, getExtendsPossibleClasses, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getPredefinedProps, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropBaseReference, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getReferences, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, getVSReference, hasFocus, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializeValue, initPropCnr, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, isSibling, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropDispose, onPropRemoved, onPropTreeInitialized, onReferenceEvent, paramString, prepare, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, replaceProps, requestFocus, requestFocus, requestFocusEx, requestFocusEx, resolveReferences, resolveRuntimeReferences, setBool, setBool, setBool, setBool, setCreateRequiredProp, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, shouldCreateProps, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verify, verifyInternalUseOnly, verifyTree, virtualize
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, extendsClone, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParent, getTreeLock, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onEventSelf, onPrepare, onPropParentChanged, onPropValueSet, onRemoteEvent, onVirtualizationCompleted, onVirtualized, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toNativeValue, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, verifyHasPropertyItem, warning, warning, warning
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.iizix.prop.IGProp
addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAppSessionGyro, getAtomPath, getClientSessionGyro, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getRelativePropName, getRootParent, getTreeLock, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, list, list, list, mapAliasToReference, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onEventSelf, onRemoteEvent, removePropError, removePropListener, renameProp, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPropError, setPropExtendsFinal, setPropExtendsPrivate, setPropNullable, setPropPrivate, setPropReadOnly, setPropValue, setPropValue, severe, severe, severe, toNativeValue, triggerRemoteEvent, triggerRemoteEvent, validateProp, verifyHasPropertyItem, warning, warning, warning
Methods inherited from interface com.iizix.prop.IPropCnr
canRequestFocus, canRequestFocus, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized
Field Detail
ALLOW_PARALLEL_SESSIONS
public static final java.lang.String ALLOW_PARALLEL_SESSIONS
Property name: Allow parallel sessions.- See Also:
- Constant Field Values
MAX_CLIENTS_PER_APP_SESSION
public static final java.lang.String MAX_CLIENTS_PER_APP_SESSION
Property name: Max client sessions/app session.- See Also:
- Constant Field Values
APP_TIMEOUT
public static final java.lang.String APP_TIMEOUT
Property name: App session timeout.- See Also:
- Constant Field Values
CUSTOM_APP_SETTINGS
public static final java.lang.String CUSTOM_APP_SETTINGS
Property name: Custom app settings.- See Also:
- Constant Field Values
ALLOWED_DOMAINS
public static final java.lang.String ALLOWED_DOMAINS
Property name: Allowed domains.- See Also:
- Constant Field Values
REQUIRE_TLS
public static final java.lang.String REQUIRE_TLS
Property name: Require TLS.- See Also:
- Constant Field Values
Constructor Detail
ServerConfigEnvProps
public ServerConfigEnvProps()
Creates the configuration environment properties without a name. The name must be set in all cases using thesetPropertyAtom
call.
ServerConfigEnvProps
public ServerConfigEnvProps(Atom atom)
Creates the configuration environment properties with an atom manager.- Parameters:
atom
- The atom.
Method Detail
clone
public ServerConfigEnvProps clone()
Creates a clone out of this property. The cloning is overridden by the subclasses in order to handle cloning of its class variables appropriately.
onPropInvalidateCache
protected void onPropInvalidateCache()
Invalidates a potential cache in this property. This method is called during a synchronized state of the property.- Overrides:
onPropInvalidateCache
in classGProp<GProp<?>[]>
getDescription
public java.lang.String getDescription()
Gets the description of this configuration environment.- Returns:
- The description, or null for none.
getPluginConfigs
public ServerPluginConfig[] getPluginConfigs()
Gets the server plug-in configurations in the environment, normally one per plug-in type.- Returns:
- A cached value.
getServerApplicationSetup
public IServerApplicationSetupPropCnr[] getServerApplicationSetup(java.lang.String pluginID)
Gets the configuration setup's for a plug-in with specified ID. Each plug-in may present several configurations, although most commonly a single one.- Parameters:
pluginID
- The plug-in ID.- Returns:
- The configuration setup, or null if plug-in configuration is not found. If the plug-in is found but no configurations, an empty array is returned.
isUserParallelSessionsAllowed
public boolean isUserParallelSessionsAllowed()
Gets the flag indicating if a user is allowed to start multiple parallel sessions or if just one per user and app is allowed (default true).- Returns:
- The allow flag.
getMaxClientsPerAppSession
public int getMaxClientsPerAppSession()
Gets the maximum number of clients sessions per app session, zero = no limit.- Returns:
- The value, default zero.
getAppTimeout
public long getAppTimeout()
Gets the timeout before an app session is disposed of when no more client sessions are present, default 1 hour.- Returns:
- The timeout value in milliseconds.
getCustomAppValue
public java.lang.String getCustomAppValue(java.lang.String key)
Gets a value for a key in the custom app properties.- Parameters:
key
- The key or name of the property to retrieve.- Returns:
- The value, or null if no value is defined for the key, or the custom map is not defined.
onAppSessionEndPoint
public void onAppSessionEndPoint(EndPointPropCnr cnr, AppSessionGyro appGyro)
Called when a new end point property container is added for a server monitor instance. This is delegated to the plug-ins in the application's server environment in order to enable them to add information for the application session.- Parameters:
cnr
- The container for the end point.appGyro
- The application session gyro of the end point.
getAllowedDomains
public java.lang.String getAllowedDomains()
Gets the allowed domains that are allowed access to this environment.- Returns:
- The domain name as e.g. "hello.example.com", or null if not associated with Let's Encrypt.
getAllowedDomainSet
public java.util.Set<java.lang.String> getAllowedDomainSet()
Gets the different domain names as String set. The domains names set includes all defined domain names that are configured for this port.- Returns:
- A new set of domain names.
isTLSRequired
public boolean isTLSRequired()
Returns if access to this environment requires TLS.- Returns:
- true if secured, false if HTTP is accepted.
isDomainAccessAllowed
public boolean isDomainAccessAllowed(java.lang.String domain, boolean isSecure)
Checks if a domain is allowed access to this environment. It is assumed that the caller of this method already has checked the validity of the 'host' header with the domain name from the URL.- Parameters:
domain
- The domain name extracted from the URL.isSecure
- Flag for session secured.- Returns:
- true for access allowed, false for no access.