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,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, nameTableFields 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_2Fields 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_PRIVATEConstructor Summary
ConstructorsConstructorDescriptionCreates a Module project property container without a name.ModuleProjectPropCnr(Atom propertyAtom) Creates a Module project property container with a name.ModuleProjectPropCnr(Atom propertyAtom, File developmentDir, PropMgr serverPropMgr) Creates a Module project property container with a name when loaded from the Server in Development mode.Method Summary
Modifier and TypeMethodDescriptionfinal voidassignClassLoader(JarClassLoader classLoader) Assigns the class loader of the Module project.final ModuleProjectPropCnrclone()Cloning is not supported.final StringgetAliasName(GProp<?> requestor, String projectName) Gets an alias name for a project name, the alias does NOT begin with "*".final JarFilePathgetClassPathInfo(IJarFile jar, Set<String> appModules, Set<JarFilePath> externalURLs, Set<File> externalResources, Set<String> dependentModules) Gets the information to set-up the classpath for the module.final FileGets the directory of the Module project when running in development mode.final IJarFileGets the Jar file that contains the Module model or null if running in development mode.final ClassLoaderGets the class loader of the Module project.Gets the possible languages defined in text files that can be used for the application.final StringgetProjectName(GProp<?> requestor, String alias) Gets the project name from an alias, the alias does NOT begin with "*".final GProp<?>getPropFromReference(GProp<?> requestor, String ref) Internal function for getPropFromReference(ref).final PropMgrGets the Property Manager used for communication for the root container.Gets the Push Notification properties.Gets the Progressive Web App (PWA) properties.final ModuleProjectPropCnrgetRootFromName(GProp<?> requestor, String module) Gets the module root for a name.final StringgetRootName(GProp<?> requestor) Gets and checks if this container is the root.final ModuleProjectSettingsGets the settings.final voidinitialize(PropMgr propMgr) Initializes the Property Manager instance for the property.final booleanVerifies if the tree is valid for reference creation.final booleanChecks if this is a root property container.final booleanChecks if the root property container is currently loading properties from Jar or files to avoid reference checking until the end.protected booleanChecking if a root property is allowed to be modified even after loading has completed.final booleanReturns if the application requires user authentication every time it's started.protected final voidProperty disposed of.voidCall to set the project as loaded.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, 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, 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, onVirtualContainerCreated, onVirtualizationCompleted, 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, virtualizeMethods 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, getReferencePropNameNoAssert, getRelativePropName, getRootParent, getRootParentNoAssert, getTreeLock, hasChanged, hasCircularReferencesError, 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, paramString, 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, warning, warning, warningMethods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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, hasCircularReferencesError, 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, warning, warning, warningMethods inherited from interface com.iizix.prop.IPropCnr
canRequestFocus, canRequestFocus, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized
Constructor Details
ModuleProjectPropCnr
public ModuleProjectPropCnr()Creates a Module project property container without a name.This constructor sets the project in loading mode, so a call to
setLoaded()is required followed by a validation of the references to complete the loading process.ModuleProjectPropCnr
Creates a Module project property container with a name.This constructor sets the project in loading mode, so a call to
setLoaded()is required followed by a validation of the references to complete the loading process.- Parameters:
propertyAtom- The property atom.
ModuleProjectPropCnr
Creates a Module project property container with a name when loaded from the Server in Development mode.This constructor sets the project in loading mode, so a call to
setLoaded()is required followed by a validation of the references to complete the loading process.- Parameters:
propertyAtom- The property atom.developmentDir- The development directory.serverPropMgr- The server property manager.
Method Details
setLoaded
Call to set the project as loaded. Do not call this method, the framework will do so.- Throws:
SecurityException- In case caller is not allowed to call this method.
onPropDispose
protected final void onPropDispose()Property disposed of. This will close any open class loaders.- Overrides:
onPropDisposein classPropCnr
initialize
Initializes the Property Manager instance for the property.- Specified by:
initializein interfaceIInitializePropMgr- Parameters:
propMgr- The Property Manager.
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:
NullPointerException- When not in the server running mode.
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, Set<String> appModules, Set<JarFilePath> externalURLs, Set<File> externalResources, Set<String> dependentModules) throws 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:
IOException
clone
Cloning is not supported.- Overrides:
clonein classPropCnr- Throws:
CloneNotSupportedException- Always!
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:
isPropRootin interfaceIGProp<GProp<?>[]>- Overrides:
isPropRootin classGProp<GProp<?>[]>- Returns:
- true, always.
isPropRootLoading
public final boolean isPropRootLoading()Checks if the root property container is currently loading properties from Jar or files to avoid reference checking until the end.- Overrides:
isPropRootLoadingin classGProp<GProp<?>[]>- Returns:
- The loading flag, always
falseunless overridden by the real root property that handles loading.
isPropRootTreeModificationsAllowed
protected boolean isPropRootTreeModificationsAllowed()Checking if a root property is allowed to be modified even after loading has completed.- Overrides:
isPropRootTreeModificationsAllowedin classGProp<GProp<?>[]>- Returns:
- Flag indicating that the tree of properties below this container can be modified.
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:
isPropReferenceTreeValidin interfaceIGProp<GProp<?>[]>- Overrides:
isPropReferenceTreeValidin classGProp<GProp<?>[]>- Returns:
- true if the root property manager is found, false otherwise.
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:
getPropRootPropMgrin interfaceIGProp<GProp<?>[]>- Overrides:
getPropRootPropMgrin classGProp<GProp<?>[]>- Returns:
- The Server Property Manager.
getRootName
Gets and checks if this container is the root. The name returned is in the Designer"module:".- Overrides:
getRootNamein classGProp<GProp<?>[]>- Parameters:
requestor- The requestor property.- Returns:
- The name of the project followed by ':'.
getRootFromName
Gets the module root for a name. As this is the Designer, the module is the project.- Specified by:
getRootFromNamein interfaceIModuleProjectPropProvider- Overrides:
getRootFromNamein 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
Gets the project name from an alias, the alias does NOT begin with "*".- Specified by:
getProjectNamein interfaceIModuleProjectPropProvider- Overrides:
getProjectNamein classGProp<GProp<?>[]>- Parameters:
requestor- The requestor property.alias- The alias name.- Returns:
- The project name for the alias, or null if not found.
getAliasName
Gets an alias name for a project name, the alias does NOT begin with "*".- Overrides:
getAliasNamein 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
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:
getPropFromReferencein 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
Assigns the class loader of the Module project.- Parameters:
classLoader- The class loader.- Throws:
IllegalStateException- If the class loader is already created.
getModuleClassLoader
Gets the class loader of the Module project.- Specified by:
getModuleClassLoaderin interfaceIModuleOwner- Returns:
- A ClassLoader for the user classes.
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
Gets the Push Notification properties.- Returns:
- The Push Notifications property container, or
nullfor none.
getPWAProps
Gets the Progressive Web App (PWA) properties.- Returns:
- The Progressive Web App property container, or
nullfor none.