Package com.iizix.server.app.prop
Class ModuleProjectPropCnr
- java.lang.Object
- com.iizix.prop.GProp<GProp<?>[]>
- com.iizix.prop.PropCnr
- com.iizix.server.app.prop.ModuleProjectPropCnr
- All Implemented Interfaces:
EventListener
,IGProp<GProp<?>[]>
,IInitializePropMgr
,IModuleOwner
,IModuleProjectPropProvider
,IPropCnr
,java.lang.Cloneable
- Direct Known Subclasses:
EditorModuleProjectPropCnr
public class ModuleProjectPropCnr extends PropCnr implements IModuleOwner, IInitializePropMgr, IModuleProjectPropProvider
The module root property container.- Author:
- Christopher Mindus
Field Summary
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 ModuleProjectPropCnr()
Creates a Module project property container without a name.ModuleProjectPropCnr(Atom propertyAtom)
Creates a Module project property container with a name.ModuleProjectPropCnr(Atom propertyAtom, java.io.File developmentDir, PropMgr serverPropMgr)
Creates a Module project property container with a name when loaded from the Server in Development mode.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assignClassLoader(JarClassLoader classLoader)
Assigns the class loader of the Module project.ModuleProjectPropCnr
clone()
Cloning is not supported.java.lang.String
getAliasName(GProp<?> requestor, java.lang.String projectName)
Gets an alias name for a project name, the alias does NOT begin with "*".JarFilePath
getClassPathInfo(IJarFile jar, java.util.Set<java.lang.String> appModules, java.util.Set<JarFilePath> externalURLs, java.util.Set<java.io.File> externalResources, java.util.Set<java.lang.String> dependentModules)
Gets the information to set-up the classpath for the module.java.io.File
getDevelopmentDirectory()
Gets the directory of the Module project when running in development mode.IJarFile
getJarFile()
Gets the Jar file that contains the Module model or null if running in development mode.java.lang.ClassLoader
getModuleClassLoader()
Gets the class loader of the Module project.java.util.List<java.lang.String>
getPossibleLanguages()
Gets the possible languages defined in text files that can be used for the application.java.lang.String
getProjectName(GProp<?> requestor, java.lang.String alias)
Gets the project name from an alias, the alias does NOT begin with "*".GProp<?>
getPropFromReference(GProp<?> requestor, java.lang.String ref)
Internal function for getPropFromReference(ref).PropMgr
getPropRootPropMgr()
Gets the Property Manager used for communication for the root container.PushProps
getPushProps()
Gets the Push Notification properties.PWAProps
getPWAProps()
Gets the Progressive Web App (PWA) properties.ModuleProjectPropCnr
getRootFromName(GProp<?> requestor, java.lang.String module)
Gets the module root for a name.java.lang.String
getRootName(GProp<?> requestor)
Gets and checks if this container is the root.ModuleProjectSettings
getSettings()
Gets the settings.void
initialize(PropMgr propMgr)
Initializes the Property Manager instance for the property.boolean
isPropReferenceTreeValid()
Verifies if the tree is valid for reference creation.boolean
isPropRoot()
Checks if this is a root property container.boolean
isUserAuthenticationAlwaysRequired()
Returns if the application requires user authentication every time it's started.protected void
onPropDispose()
Property disposed of.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, 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, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getRelativePropName, 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, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onEventSelf, onPrepare, onPropInvalidateCache, 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, 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, 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
Constructor Detail
ModuleProjectPropCnr
public ModuleProjectPropCnr()
Creates a Module project property container without a name.
ModuleProjectPropCnr
public ModuleProjectPropCnr(Atom propertyAtom)
Creates a Module project property container with a name.- Parameters:
propertyAtom
- The property atom.
ModuleProjectPropCnr
public ModuleProjectPropCnr(Atom propertyAtom, java.io.File developmentDir, PropMgr serverPropMgr)
Creates a Module project property container with a name when loaded from the Server in Development mode.- Parameters:
propertyAtom
- The property atom.developmentDir
- The development directory.
Method Detail
onPropDispose
protected final void onPropDispose()
Property disposed of. This will close any open class loaders.- Overrides:
onPropDispose
in classPropCnr
initialize
public final void initialize(PropMgr propMgr)
Initializes the Property Manager instance for the property.- Specified by:
initialize
in interfaceIInitializePropMgr
- Parameters:
propMgr
- The Property Manager.
getJarFile
public final IJarFile getJarFile()
Gets the Jar file that contains the Module model or null if running in development mode.- Returns:
- The Jar file or null when running in development mode.
- Throws:
java.lang.NullPointerException
- When not in the server running mode.
getDevelopmentDirectory
public final java.io.File getDevelopmentDirectory()
Gets the directory of the Module project when running in development mode.- Returns:
- The directory, or null if not in development mode.
getClassPathInfo
public final JarFilePath getClassPathInfo(IJarFile jar, java.util.Set<java.lang.String> appModules, java.util.Set<JarFilePath> externalURLs, java.util.Set<java.io.File> externalResources, java.util.Set<java.lang.String> dependentModules) throws java.io.IOException
Gets the information to set-up the classpath for the module.- Parameters:
jar
- The Jar file, null when in development mode.appModules
- The set of all app modules used in this app.externalURLs
- Set of URL's that are filled in and required for the module project, filled in by this method.externalResources
- Set of external resources that must be watched by hot-deploy for changes, filled in by this method.dependentModules
- Set of modules that this module depends on, filled in by this method.- Returns:
- The JarFilePath for the module's classes.
- Throws:
java.io.IOException
clone
public final ModuleProjectPropCnr clone() throws java.lang.CloneNotSupportedException
Cloning is not supported.
getSettings
public final ModuleProjectSettings getSettings()
Gets the settings.
isUserAuthenticationAlwaysRequired
public final boolean isUserAuthenticationAlwaysRequired()
Returns if the application requires user authentication every time it's started.- Returns:
- true for user authentication always required, by password or fingerprint.
isPropRoot
public final boolean isPropRoot()
Checks if this is a root property container.- Specified by:
isPropRoot
in interfaceIGProp<GProp<?>[]>
- Overrides:
isPropRoot
in classGProp<GProp<?>[]>
- Returns:
- true, always.
isPropReferenceTreeValid
public final boolean isPropReferenceTreeValid()
Verifies if the tree is valid for reference creation. This method is typically overridden in a root property that has a Property Manager owner that in turn is checked for a particular configuration (e.g. Client-related references such as LabelForReference that does not create references when communicating).- Specified by:
isPropReferenceTreeValid
in interfaceIGProp<GProp<?>[]>
- Overrides:
isPropReferenceTreeValid
in classGProp<GProp<?>[]>
- Returns:
- true if the root property manager is found, false otherwise.
getPropRootPropMgr
public final PropMgr getPropRootPropMgr()
Gets the Property Manager used for communication for the root container. If this is not the root container, the parent function is called upwards in tree.- Specified by:
getPropRootPropMgr
in interfaceIGProp<GProp<?>[]>
- Overrides:
getPropRootPropMgr
in classGProp<GProp<?>[]>
- Returns:
- The Server Property Manager.
getRootName
public final java.lang.String getRootName(GProp<?> requestor)
Gets and checks if this container is the root. The name returned is in the Designer"module:"
.- Overrides:
getRootName
in classGProp<GProp<?>[]>
- Parameters:
requestor
- The requestor property.- Returns:
- The name of the project followed by ':'.
getRootFromName
public final ModuleProjectPropCnr getRootFromName(GProp<?> requestor, java.lang.String module)
Gets the module root for a name. As this is the Designer, the module is the project.- Specified by:
getRootFromName
in interfaceIModuleProjectPropProvider
- Overrides:
getRootFromName
in classGProp<GProp<?>[]>
- Parameters:
module
- The module name (without colon), i.e. the project name in the Designer.requestor
- The requestor property.- Returns:
- The root property container, or null if the module name is not found.
getProjectName
public final java.lang.String getProjectName(GProp<?> requestor, java.lang.String alias)
Gets the project name from an alias, the alias does NOT begin with "*".- Specified by:
getProjectName
in interfaceIModuleProjectPropProvider
- Overrides:
getProjectName
in classGProp<GProp<?>[]>
- Parameters:
requestor
- The requestor property.alias
- The alias name.- Returns:
- The project name for the alias, or null if not found.
getAliasName
public final java.lang.String getAliasName(GProp<?> requestor, java.lang.String projectName)
Gets an alias name for a project name, the alias does NOT begin with "*".- Overrides:
getAliasName
in classGProp<GProp<?>[]>
- Parameters:
requestor
- The requestor property.projectName
- The project name (without ending ':').- Returns:
- The alias name without leading '*' for the project name, or null if not found.
getPropFromReference
public final GProp<?> getPropFromReference(GProp<?> requestor, java.lang.String ref)
Internal function for getPropFromReference(ref).Gets a property from a reference name. This can be called from any property in the property tree, and will direct the request to the root property.
- Overrides:
getPropFromReference
in classGProp<GProp<?>[]>
- Parameters:
requestor
- The requestor property.ref
- The reference string.- Returns:
- The property with the reference in question, or null if not found.
assignClassLoader
public final void assignClassLoader(JarClassLoader classLoader)
Assigns the class loader of the Module project.- Parameters:
classLoader
- The class loader.- Throws:
java.lang.IllegalStateException
- If the class loader is already created.
getModuleClassLoader
public final java.lang.ClassLoader getModuleClassLoader()
Gets the class loader of the Module project.- Specified by:
getModuleClassLoader
in interfaceIModuleOwner
- Returns:
- A ClassLoader for the user classes.
getPossibleLanguages
public final java.util.List<java.lang.String> getPossibleLanguages()
Gets the possible languages defined in text files that can be used for the application.- Returns:
- A cached read-only list of possible languages.
getPushProps
public PushProps getPushProps()
Gets the Push Notification properties.- Returns:
- The Push Notifications property container, or
null
for none.
getPWAProps
public PWAProps getPWAProps()
Gets the Progressive Web App (PWA) properties.- Returns:
- The Progressive Web App property container, or
null
for none.