Class ModuleApp
- All Implemented Interfaces:
EventListener
,IClassInstantiationAtResolve
,IClientCachePreload
,IClientCacheResource
,IGProp<GProp<?>[]>
,IPropCnr
,Cloneable
- Author:
- Christopher Mindus
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The custom CSSAssetReferences property for custom CSS.static final String
The icon background color.static final String
The icon bitmap property.static final String
The icon SVG property.static final String
The availability for iiziApp Browser property.static final String
The availability for iiziRun Phones property.static final String
The availability for iiziRun Tablets property.static final String
The (Safari) theme color property.static final String
The (Windows) tile color property.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.IClientCacheResource
CACHES
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_INCLUDE_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
Method Summary
Modifier and TypeMethodDescriptionprotected void
Adds the predefined properties for this container.clone()
Clones the ModuleApp.Lengthy helper function to compute the possible themes for a module application.createVSReference
(Atom refAtom, PropCnr[] returnParent) Creates a VSReference instance from the container or any parent containers.Gets the application themes to use for desktop and mobile that are supported.Gets the class implementing the interface for application focus provider.int
Gets the cache value.Gets the configured languages for the Module application.Gets the CSS asset file references property used to defined custom CSS, to be loaded for the entire app.Gets the default themes to use for desktop and mobile.Gets the description of the application using the default language code.getDescription
(String languageCode) Gets the description of the application using the specified language code.Gets the description of the application as a KString.Gets the icon background color, optionally used for SVG icons and/or PNG transparent images.reference to the app icon bitmap.Gets the app icon bitmap.Gets the reference to the app icon bitmap.Gets the app icon SVG.Gets the reference to the app icon SVG.Gets the component that initially should have focus, or be called (if VSAction is returned).getName()
Gets the name of the application using the default language code.Gets the name of the application using the specified language code.Gets the name of the application as a KString.protected void
Gets potential references to predefined properties for this container.getPreloadClientCacheResources
(IClientSessionGyro clientGyro) Returns the list of resources that are required on the client side in the preload-to-cache mechanism.Gets the selector reference.Gets the text table that is assigned to the app.getTextTable
(String languageCode) Gets the text table used for a particular language code defined in the app.Gets the theme color for Safari on macOS and iOS.Gets the tile color for Windows (8) Start menu.getVSReference
(Atom refAtom) Gets the VSReference that is initially used as start-up for the application.void
Method to invalidate the computed possible themes.boolean
Gets the setting if this is a localized application, i.e.boolean
Checks if app is available for iiziApp Browsers.boolean
Checks if app is available for iiziRun Phones.boolean
Checks if app is available for iiziRun Tablets.boolean
Returns if the resource (font, image, etc) is to be cached on the client side or not.boolean
Returns if the resource (font, image, etc) is to be cached on the client side when the application starts or not.boolean
isSelectorSelected
(EnvProps envProps) Verifies if the Module Application (project) is selected or not.void
sendCustomCSS
(IPropMgrInfoProvider infoProvider, ITransactionCreator transCreator, ITransactionSender sender) Send custom CSS to client upon start.boolean
verify
(PropVerification verification) Verifies this property container.Methods inherited from class com.iizix.prop.PropCnr
__transferChildProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, convertLoadedProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, 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, 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, hasFocus, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializeValue, initPropCnr, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropDispose, 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, verifyInternalUseOnly, verifyTree, virtualize
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, appendProp, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, 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, getReferencePropNameNoAssert, getRelativePropName, getRootFromName, getRootName, 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, isPropReferenceTreeValid, isPropRoot, isPropRootLoading, isPropRootTreeModificationsAllowed, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, isSibling, 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, warning
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.iizix.prop.IClassInstantiationAtResolve
shouldInstantiateAtResolve
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, hasCircularReferencesError, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, isSibling, 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, warning
Methods inherited from interface com.iizix.prop.IPropCnr
canRequestFocus, canRequestFocus, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized
Field Details
PN_ICON_BITMAP
The icon bitmap property.- See Also:
PN_ICON_SVG
The icon SVG property.- See Also:
PN_ICON_BACKGROUND
The icon background color.- See Also:
PN_TILE_COLOR
The (Windows) tile color property.- See Also:
PN_THEME_COLOR
The (Safari) theme color property.- See Also:
PN_CSS_ASSETS
The custom CSSAssetReferences property for custom CSS.- See Also:
PN_IIZIRUN_PHONE
The availability for iiziRun Phones property.- See Also:
PN_IIZIRUN_TABLET
The availability for iiziRun Tablets property.- See Also:
PN_IIZIAPP_BROWSER
The availability for iiziApp Browser property.- See Also:
Constructor Details
ModuleApp
public ModuleApp()Creates the applications properties without a name. The name must be set in all cases using thesetPropertyAtom
call.ModuleApp
Creates the applications properties with the specified name.- Parameters:
propertyAtom
- the name of the component, unique within it's parent.
Method Details
addPredefinedProps
Adds the predefined properties for this container. This method is called once just after construction of the property container and sometimes population of it.The method should add properties to create or get reference to using the
maybeAddProp
method. When the PropCnr instance is cloned, the methodgetPredefinedProps()
is called in order for the subclass to be able to retrieve the new instances to these properties, if stored in instance variables.Subclasses must override this method to do the appropriate initialization, as this method does nothing for the PropCnr class implementation.
- Overrides:
addPredefinedProps
in classPropCnr
- Throws:
PropException
- for property exceptions.
getPredefinedProps
protected void getPredefinedProps()Gets potential references to predefined properties for this container. This method is called once just after cloning of the property container.The method should get reference to using the
getProp(...)
methods. This allows the subclass to be able to retrieve the new instances to the properties created duringaddPredefinedProps()
if stored in instance variables.Subclasses must override this method to do the appropriate initialization, as this method does nothing for the PropCnr class implementation.
- Overrides:
getPredefinedProps
in classPropCnr
clone
Clones the ModuleApp.getName
Gets the name of the application using the default language code.- Returns:
- The application name, or
null
if not defined.
getName
Gets the name of the application using the specified language code.- Parameters:
languageCode
- The language code, ornull
for the default language code.- Returns:
- The potentially localized application name (default text table or none is used when the
languageCode
isnull
). The application name may benull
if not defined.
getNameKString
Gets the name of the application as a KString.- Returns:
- The application name, or
null
if not defined. The name may be localized using the text tables.
getDescription
Gets the description of the application using the default language code.- Returns:
- The application name, or
null
if not defined.
getDescription
Gets the description of the application using the specified language code.- Parameters:
languageCode
- The language code, ornull
for the default language code.- Returns:
- The potentially localized application description (default text table or none is used when the
languageCode
isnull
). The application description may benull
if not defined.
getDescriptionKString
Gets the description of the application as a KString.- Returns:
- The application description, or
null
if not defined. The description may be localized using the text tables.
getTextTable
Gets the text table that is assigned to the app. In case the application is localized, then you can get text tables for a particular language code, or all, from this instance.- Returns:
- The text table for the application, or
null
if none is set.
getTextTable
Gets the text table used for a particular language code defined in the app. In the case the language code is mapped to another language, that text table will be returned.- Parameters:
languageCode
- The language code, ornull
for the default language.- Returns:
- The text table for the application, or
null
if none is set. - Throws:
LanguageException
- If the languageCode is unknown.
isAppLocalized
public boolean isAppLocalized()Gets the setting if this is a localized application, i.e. has support to be displayed in different languages, thus has support uses multiple text tables. This is known by checking the text tables derived text tables and their language codes, and so on. But this is not an optimal solution because it requires computation.- Returns:
- The configured setting by the app developer if this app supports localization. If so, the text table should have derived text tables for all defined language codes. Errors and warnings will be displayed to the app developer if there is a mismatch of the localization settings and defined language codes.
getVSReference
Gets the VSReference that is initially used as start-up for the application.- Specified by:
getVSReference
in interfaceIGProp<GProp<?>[]>
- Overrides:
getVSReference
in classPropCnr
- Parameters:
refAtom
- The property asking for the VSReference.- Returns:
- The instance of the
VSReference
ornull
if unassigned. The returned instance could also be a VSParticipant and should therefore be processed accordingly.
createVSReference
Creates a VSReference instance from the container or any parent containers. The method is used in the Designer to create a VirtualSpace connection forVSRelativeReference
to look up theVSReference
instance in order to resolve the relative path to the target property.This method needs to be overridden by subclasses of
PropCnr
that has a VSReference as property, and *SHOULD* matchgetVSReference(Atom)
.The default is to re-target the call to the parent container, and if the root, a folder or a file property is reached,
null
is returned.- Overrides:
createVSReference
in classPropCnr
- Parameters:
refAtom
- The property asking for the VSReference.returnParent
- An array of PropCnr [1] that will be filled in with the parent property of the VSRefernce.- Returns:
- The instance of the
VSReference
ornull
if unassigned. The returned instance could also be a VSParticipant and should therefore be processed accordingly.For this method, it's a VSReference.
getInitialVSComponent
Gets the component that initially should have focus, or be called (if VSAction is returned).- Returns:
- The initial focus or action to call, null for none.
getAppSessionFocusProvider
Gets the class implementing the interface for application focus provider.- Returns:
- The instance providing custom focus processing, or null for none (i.e. only default processing).
getSelectorReference
Gets the selector reference.isSelectorSelected
Verifies if the Module Application (project) is selected or not.- Parameters:
envProps
- The Client Properties for the Client connections.- Returns:
- true if selected or no selector is defined, false if unselected or the reference is not resolved.
getConfiguredLanguages
Gets the configured languages for the Module application.- Returns:
- The application languages to use.
invalidatePossibleThemes
public void invalidatePossibleThemes()Method to invalidate the computed possible themes.computePossibleThemes
Lengthy helper function to compute the possible themes for a module application.Once calculated in the server, the value never changes. In the designer, it needs recomputing only when a new panels are added, moved, removed, has theme changes or folders changed/removed with theme masks.
- Returns:
- The return value is a mask of the possible themes.
getDefaultThemes
Gets the default themes to use for desktop and mobile.- Returns:
- The theme mask, potentially excluding desktop or mobile!
getApplicationThemes
Gets the application themes to use for desktop and mobile that are supported.- Returns:
- The theme mask, generally both desktop and mobile, never null.
getIconBitmapReference
Gets the reference to the app icon bitmap.- Returns:
- The image reference, or
null
if not defined.
getIconBitmap
Gets the app icon bitmap.- Returns:
- The image, or
null
if not defined or not of correct format (in case of incorrect format, a warning message is logged).
getIconSVGReference
Gets the reference to the app icon SVG.- Returns:
- The image reference, or
null
if not defined.
getIconSVG
Gets the app icon SVG.- Returns:
- The image, or
null
if not defined or not of correct format (in case of incorrect format, a warning message is logged).
getIconBackgroundColor
Gets the icon background color, optionally used for SVG icons and/or PNG transparent images.reference to the app icon bitmap.- Returns:
- The color, or
null
if not defined.
getTileColor
Gets the tile color for Windows (8) Start menu.- Returns:
- The color, or
null
if not defined.
getThemeColor
Gets the theme color for Safari on macOS and iOS.- Returns:
- The color, or
null
if not defined.
getCSSAssetReferences
Gets the CSS asset file references property used to defined custom CSS, to be loaded for the entire app.- Returns:
- The CSSAssetReferences instance, or
null
for none.
sendCustomCSS
public void sendCustomCSS(IPropMgrInfoProvider infoProvider, ITransactionCreator transCreator, ITransactionSender sender) Send custom CSS to client upon start.- Parameters:
transCreator
- The creator of send transactions.sender
- Sends client transactions.
getCacheOperation
public int getCacheOperation()Gets the cache value.- Returns:
- The cache value: 0=no cache, 1=on-first-use (default), 2=preload.
isCachedOnClient
public boolean isCachedOnClient()Returns if the resource (font, image, etc) is to be cached on the client side or not.- Specified by:
isCachedOnClient
in interfaceIClientCacheResource
- Returns:
- true to cache font (default), or false for client session use only.
isCachePreloaded
public boolean isCachePreloaded()Returns if the resource (font, image, etc) is to be cached on the client side when the application starts or not.- Specified by:
isCachePreloaded
in interfaceIClientCacheResource
getPreloadClientCacheResources
Returns the list of resources that are required on the client side in the preload-to-cache mechanism.- Specified by:
getPreloadClientCacheResources
in interfaceIClientCachePreload
- Parameters:
clientGyro
- The client gyro engine.- Returns:
- An array with the resources required.
isAvailableForPhones
public boolean isAvailableForPhones()Checks if app is available for iiziRun Phones.- Returns:
true
(default) if available,false
otherwise.
isAvailableForTablets
public boolean isAvailableForTablets()Checks if app is available for iiziRun Tablets.- Returns:
true
(default) if available,false
otherwise.
isAvailableForBrowsers
public boolean isAvailableForBrowsers()Checks if app is available for iiziApp Browsers.- Returns:
true
(default) if available,false
otherwise.
verify
Verifies this property container. The check performed is the extension of classes and that no circular reference is present.