Class ModuleApp
- All Implemented Interfaces:
EventListener, IClassInstantiationAtResolve, IClientCachePreload, IClientCacheResource, IGProp<GProp<?>[]>, IPropCnr, ISecretsContext, Cloneable
- Author:
- Christopher Mindus
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intConsent choice: the application asks the user itself and callsIClientSessionGyro.setAnalyticsConsent(boolean).static final intConsent choice: IIZI asks the user with its own prompt when the application is launched (the default).static final intConsent choice: no prompt, Analytics loads at once (only where no consent is required; the verifier warns about it).static final PatternThe pattern a GA4 Measurement ID must match:G-followed by 4 to 16 upper-case letters or digits.static final StringThe custom CSSAssetReferences property for custom CSS.static final StringThe Web Analytics consent choice property:GA_CONSENT_IIZI_ASKS(default),GA_CONSENT_APP_ASKSorGA_CONSENT_NONE.static final StringThe Google Analytics 4 Measurement ID property (G-...) for the application when it runs in a Browser, in a tab or installed as a web app.static final StringThe icon background color.static final StringThe icon bitmap property.static final StringThe icon bitmap property for the dark mode: the optional twin ofPN_ICON_BITMAP(CC-ICONS-DARK-SAMPLES, LK-D-9).static final StringThe icon SVG property.static final StringThe icon SVG property for the dark mode: the optional twin ofPN_ICON_SVG.static final StringThe availability for iiziApp Browser property.static final StringThe availability for iiziRun Phones property.static final StringThe availability for iiziRun Tablets property.static final StringThe (Safari) theme color property.static final StringThe (Windows) tile color property.static final StringThe appearance modes property: the modes the application allows a client to show (CC-THEME-DARK-V5, ruled DK-D-2):UI_MODES_BOTH(default, the user chooses light, dark or auto in the Browser, the PWA or iiziRun, or the application sets it from Java),UI_MODES_LIGHTfor an application whose own styling is light,UI_MODES_DARK.static final StringThe unpatched web engine warning choice property:WEB_ENGINE_WARNING_IIZI(default),WEB_ENGINE_WARNING_APPorWEB_ENGINE_WARNING_NEVER.static final StringThe prefix of the application's secrets context: "app.", followed by its App ID (ModuleProjectSettings.APP_ID), e.g.static final intThe appearance modes choice: light and dark, the user chooses (the default).static final intThe appearance modes choice: dark only.static final intThe appearance modes choice: light only.static final intWarning choice: the application decides.static final intWarning choice: IIZI warns the user with its own notice when the client session connects (the default).static final intWarning choice: the user is never warned.Fields inherited from class PropCnr
EMPTY, EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_IDFields inherited from class 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_ATTR_STRING_SECRET, PROP_USER_1, PROP_USER_2Fields inherited from interface IClientCacheResource
CACHESFields inherited from interface IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_INCLUDE_PRIVATE, EQC_SAVE_FILE, EQC_SAVE_RELEVANT_ONLY, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATEFields inherited from interface ISecretsContext
KEY_SEPARATORConstructor Summary
ConstructorsMethod Summary
Modifier and TypeMethodDescriptionprotected voidAdds 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.intGets 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.intGets the Web Analytics consent choice.Gets the GA4 Measurement ID for the application in a Browser, as entered on the App page.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 app icon bitmap for the dark mode: the twin ofgetIconBitmap()with the same checks.Gets the reference to the app icon bitmap for the dark mode (CC-ICONS-DARK-SAMPLES, LK-D-9).Gets the reference to the app icon bitmap.Gets the app icon SVG.Gets the app icon SVG for the dark mode: the twin ofgetIconSVG()with the same checks.Gets the reference to the app icon SVG for the dark mode (CC-ICONS-DARK-SAMPLES, LK-D-9).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 voidGets 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 secrets context of the application:SECRETS_CONTEXT_PREFIXfollowed by its App ID, e.g.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.intGets the appearance modes the application allows a client to show.Gets the class name of a declared application focus provider whose instance is not available: the class did not load when the application was prepared, it was not instantiated, or it does not implementIAppSessionFocusProvider.getVSReference(Atom refAtom) Gets the VSReference that is initially used as start-up for the application.intGets the unpatched web engine warning choice.voidMethod to invalidate the computed possible themes.booleanGets the setting if this is a localized application, i.e.booleanChecks if app is available for iiziApp Browsers.booleanChecks if app is available for iiziRun Phones.booleanChecks if app is available for iiziRun Tablets.booleanReturns if the resource (font, image, etc) is to be cached on the client side or not.booleanReturns if the resource (font, image, etc) is to be cached on the client side when the application starts or not.booleanisSelectorSelected(EnvProps envProps) Verifies if the Module Application (project) is selected or not.static booleanChecks a GA4 Measurement ID againstGA_MEASUREMENT_ID_PATTERN.voidCalled when the tree of the file is complete: gives every secret-marked member its value from this machine's secrets store (CC-SECRETS-SK3-CONTEXTS, design section 5).voidsendCustomCSS(IPropMgrInfoProvider infoProvider, ITransactionCreator transCreator, ITransactionSender sender) Send custom CSS to client upon start.booleanverify(PropVerification verification) Verifies this property container.Methods inherited from class 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, initializePropTree, initializeValue, initPropCnr, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, isPropValueTreeLockNeeded, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropDispose, onPropRemoved, 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, virtualizeMethods inherited from class 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, hashCode, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropErrorPersisted, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropForEditorAtCreation, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropRootLoading, isPropRootTreeModificationsAllowed, isPropSaveRelevant, isPropSecret, isPropSecretCapable, isPropUSER, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, isSibling, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onEventSelf, onInitialize, 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, setPropSecret, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toNativeValue, toShortString, toShortString, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, warning, warning, warningMethods inherited from interface IClassInstantiationAtResolve
shouldInstantiateAtResolveMethods inherited from interface 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, warningMethods inherited from interface IPropCnr
canRequestFocus, canRequestFocus, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualizedMethods inherited from interface ISecretsContext
getSecretsKey, isSecretOptional, isSecretsRoot
Field Details
PN_ICON_BITMAP
PN_ICON_SVG
PN_ICON_BITMAP_DARK
The icon bitmap property for the dark mode: the optional twin ofPN_ICON_BITMAP(CC-ICONS-DARK-SAMPLES, LK-D-9). Absent, the light icon is used in the dark mode too.- See Also:
PN_ICON_SVG_DARK
The icon SVG property for the dark mode: the optional twin ofPN_ICON_SVG.- See Also:
PN_ICON_BACKGROUND
PN_TILE_COLOR
PN_THEME_COLOR
PN_CSS_ASSETS
The custom CSSAssetReferences property for custom CSS.- See Also:
PN_IIZIRUN_PHONE
PN_IIZIRUN_TABLET
PN_IIZIAPP_BROWSER
The availability for iiziApp Browser property.- See Also:
PN_GA_MEASUREMENT_ID
The Google Analytics 4 Measurement ID property (G-...) for the application when it runs in a Browser, in a tab or installed as a web app. Empty or absent means no Web Analytics. iiziRun on phones and tablets uses its own Firebase configuration (Runtime page) and never reads this.- See Also:
PN_GA_CONSENT
The Web Analytics consent choice property:GA_CONSENT_IIZI_ASKS(default),GA_CONSENT_APP_ASKSorGA_CONSENT_NONE.- See Also:
GA_CONSENT_IIZI_ASKS
public static final int GA_CONSENT_IIZI_ASKSConsent choice: IIZI asks the user with its own prompt when the application is launched (the default).- See Also:
GA_CONSENT_APP_ASKS
public static final int GA_CONSENT_APP_ASKSConsent choice: the application asks the user itself and callsIClientSessionGyro.setAnalyticsConsent(boolean).- See Also:
GA_CONSENT_NONE
public static final int GA_CONSENT_NONEConsent choice: no prompt, Analytics loads at once (only where no consent is required; the verifier warns about it).- See Also:
GA_MEASUREMENT_ID_PATTERN
The pattern a GA4 Measurement ID must match:G-followed by 4 to 16 upper-case letters or digits. The one definition, shared with the server, which writes nothing from a property file into the page unless it matches.PN_WEB_ENGINE_WARNING
The unpatched web engine warning choice property:WEB_ENGINE_WARNING_IIZI(default),WEB_ENGINE_WARNING_APPorWEB_ENGINE_WARNING_NEVER. It decides who warns a user whose web engine - Android System WebView, Chrome on Android, or iOS - no longer receives security updates. The server counts and logs such sessions whatever it says.- See Also:
WEB_ENGINE_WARNING_IIZI
public static final int WEB_ENGINE_WARNING_IIZIWarning choice: IIZI warns the user with its own notice when the client session connects (the default).- See Also:
WEB_ENGINE_WARNING_APP
public static final int WEB_ENGINE_WARNING_APPWarning choice: the application decides. It readsIClientSessionGyro.getWebEngineStatus()and callsIClientSessionGyro.showWebEngineWarning()when it wants the notice shown.- See Also:
WEB_ENGINE_WARNING_NEVER
public static final int WEB_ENGINE_WARNING_NEVERWarning choice: the user is never warned.- See Also:
PN_UI_MODES
The appearance modes property: the modes the application allows a client to show (CC-THEME-DARK-V5, ruled DK-D-2):UI_MODES_BOTH(default, the user chooses light, dark or auto in the Browser, the PWA or iiziRun, or the application sets it from Java),UI_MODES_LIGHTfor an application whose own styling is light,UI_MODES_DARK. The client clamps a choice the application does not allow to the mode it does, without changing the choice the device keeps.- See Also:
UI_MODES_BOTH
public static final int UI_MODES_BOTHThe appearance modes choice: light and dark, the user chooses (the default).- See Also:
UI_MODES_LIGHT
public static final int UI_MODES_LIGHTThe appearance modes choice: light only.- See Also:
UI_MODES_DARK
public static final int UI_MODES_DARKThe appearance modes choice: dark only.- See Also:
SECRETS_CONTEXT_PREFIX
The prefix of the application's secrets context: "app.", followed by its App ID (ModuleProjectSettings.APP_ID), e.g.app.com.mindus.icu(CC-SECRETS-SK3-CONTEXTS).- See Also:
Constructor Details
ModuleApp
public ModuleApp()Creates the applications properties without a name. The name must be set in all cases using thesetPropertyAtomcall.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
maybeAddPropmethod. 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:
addPredefinedPropsin 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:
getPredefinedPropsin classPropCnr
clone
getSecretsContext
Gets the secrets context of the application:SECRETS_CONTEXT_PREFIXfollowed by its App ID, e.g.app.com.mindus.icu(decision P-3 (b)). The key of a secret-marked member is the context and the member's atom path from this container. The loader gives the application's.iiziPushthe same context.- Specified by:
getSecretsContextin interfaceISecretsContext- Returns:
- The context, or null when the App ID is not set or does not make a valid context name (logged SEVERE once).
onPropTreeInitialized
Called when the tree of the file is complete: gives every secret-marked member its value from this machine's secrets store (CC-SECRETS-SK3-CONTEXTS, design section 5). A missing value is logged once per key and leaves the member unconfigured; the load goes on (P-15).- Specified by:
onPropTreeInitializedin interfaceIGProp<GProp<?>[]>- Overrides:
onPropTreeInitializedin classPropCnr- Throws:
IOException- For file errors of the children.PropException- For initialization problems of the children.
getName
Gets the name of the application using the default language code.- Returns:
- The application name, or
nullif not defined.
getName
Gets the name of the application using the specified language code.- Parameters:
languageCode- The language code, ornullfor the default language code.- Returns:
- The potentially localized application name (default text table or none is used when the
languageCodeisnull). The application name may benullif not defined.
getNameKString
Gets the name of the application as a KString.- Returns:
- The application name, or
nullif 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
nullif not defined.
getDescription
Gets the description of the application using the specified language code.- Parameters:
languageCode- The language code, ornullfor the default language code.- Returns:
- The potentially localized application description (default text table or none is used when the
languageCodeisnull). The application description may benullif not defined.
getDescriptionKString
Gets the description of the application as a KString.- Returns:
- The application description, or
nullif 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
nullif 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, ornullfor the default language.- Returns:
- The text table for the application, or
nullif 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:
getVSReferencein interfaceIGProp<GProp<?>[]>- Overrides:
getVSReferencein classPropCnr- Parameters:
refAtom- The property asking for the VSReference.- Returns:
- The instance of the
VSReferenceornullif 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 forVSRelativeReferenceto look up theVSReferenceinstance in order to resolve the relative path to the target property.This method needs to be overridden by subclasses of
PropCnrthat 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,
nullis returned.- Overrides:
createVSReferencein 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
VSReferenceornullif 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).
getUnloadedAppSessionFocusProvider
Gets the class name of a declared application focus provider whose instance is not available: the class did not load when the application was prepared, it was not instantiated, or it does not implementIAppSessionFocusProvider. The server refuses the sessions and the sign-ins of such an application instead of treating it as one without a gate (CC-FIX-ADMIN-GATE-FAIL-CLOSED, SA-X1).- Returns:
- The declared class name, or null when no focus provider is declared or its instance is available through
getAppSessionFocusProvider().
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
nullif not defined.
getIconBitmap
Gets the app icon bitmap.- Returns:
- The image, or
nullif not defined or not of correct format (in case of incorrect format, a warning message is logged).
getIconBitmapDarkReference
Gets the reference to the app icon bitmap for the dark mode (CC-ICONS-DARK-SAMPLES, LK-D-9).- Returns:
- The image reference, or
nullif not defined.
getIconBitmapDark
Gets the app icon bitmap for the dark mode: the twin ofgetIconBitmap()with the same checks. Absent, the light icon is used in the dark mode too.- Returns:
- The image, or
nullif 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
nullif not defined.
getIconSVG
Gets the app icon SVG.- Returns:
- The image, or
nullif not defined or not of correct format (in case of incorrect format, a warning message is logged).
getIconSVGDarkReference
Gets the reference to the app icon SVG for the dark mode (CC-ICONS-DARK-SAMPLES, LK-D-9).- Returns:
- The image reference, or
nullif not defined.
getIconSVGDark
Gets the app icon SVG for the dark mode: the twin ofgetIconSVG()with the same checks. Absent, the light icon is used in the dark mode too.- Returns:
- The image, or
nullif 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
nullif not defined.
getTileColor
Gets the tile color for Windows (8) Start menu.- Returns:
- The color, or
nullif not defined.
getThemeColor
Gets the theme color for Safari on macOS and iOS.- Returns:
- The color, or
nullif 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
nullfor 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:
isCachedOnClientin 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:
isCachePreloadedin interfaceIClientCacheResource
getPreloadClientCacheResources
public PreloadClientCacheResource<GProp<?>>[] getPreloadClientCacheResources(IClientSessionGyro clientGyro) Returns the list of resources that are required on the client side in the preload-to-cache mechanism.- Specified by:
getPreloadClientCacheResourcesin 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,falseotherwise.
isAvailableForTablets
public boolean isAvailableForTablets()Checks if app is available for iiziRun Tablets.- Returns:
true(default) if available,falseotherwise.
isAvailableForBrowsers
public boolean isAvailableForBrowsers()Checks if app is available for iiziApp Browsers.- Returns:
true(default) if available,falseotherwise.
getGAMeasurementId
Gets the GA4 Measurement ID for the application in a Browser, as entered on the App page.- Returns:
- The trimmed ID, or
nullwhen not set or blank. It is NOT validated here: callisValidGAMeasurementId(String)before writing it anywhere.
isValidGAMeasurementId
Checks a GA4 Measurement ID againstGA_MEASUREMENT_ID_PATTERN.- Parameters:
id- The ID, ornull.- Returns:
truewhen non-null and matching,falseotherwise.
getGAConsent
public int getGAConsent()Gets the Web Analytics consent choice.- Returns:
GA_CONSENT_IIZI_ASKS(the default when not set),GA_CONSENT_APP_ASKSorGA_CONSENT_NONE. Any other stored value is returned as is and reported as an error byverify(PropVerification).
getWebEngineWarning
public int getWebEngineWarning()Gets the unpatched web engine warning choice.- Returns:
WEB_ENGINE_WARNING_IIZI(the default when not set),WEB_ENGINE_WARNING_APPorWEB_ENGINE_WARNING_NEVER. Any other stored value is returned as is and reported as an error byverify(PropVerification); the server reads it as the default.
getUIModes
public int getUIModes()Gets the appearance modes the application allows a client to show.- Returns:
UI_MODES_BOTH(the default when not set),UI_MODES_LIGHTorUI_MODES_DARK. Any other stored value is returned as is and reported as an error byverify(PropVerification); the client reads it as both.
verify
Verifies this property container. The check performed is the extension of classes and that no circular reference is present.