Class ModuleProjectPropCnr

    • 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 class PropCnr
      • initialize

        public final void initialize​(PropMgr propMgr)
        Initializes the Property Manager instance for the property.
        Specified by:
        initialize in interface IInitializePropMgr
        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.
        Overrides:
        clone in class PropCnr
        Throws:
        java.lang.CloneNotSupportedException - Always!
      • 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 interface IGProp<GProp<?>[]>
        Overrides:
        isPropRoot in class GProp<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 interface IGProp<GProp<?>[]>
        Overrides:
        isPropReferenceTreeValid in class GProp<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 interface IGProp<GProp<?>[]>
        Overrides:
        getPropRootPropMgr in class GProp<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 class GProp<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 interface IModuleProjectPropProvider
        Overrides:
        getRootFromName in class GProp<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 interface IModuleProjectPropProvider
        Overrides:
        getProjectName in class GProp<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 class GProp<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 class GProp<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 interface IModuleOwner
        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.