Class ModuleImpl

    • Method Detail

      • isHeadless

        public boolean isHeadless()
        Whether or not this module has a GUI and should be listed in available GUI module list. For example, REST modules usually don't have a GUI.
        Returns:
        true if headless (no GUI is provided), false otherwise
      • getNatures

        public Set<String> getNatures()
        Returns:
        the natures, or null if no natures were specified
      • hasNature

        public boolean hasNature​(String natureId)
      • getSkinPathPrefix

        public String getSkinPathPrefix()
        Description copied from interface: Module
        Get the path prefix to be used from templates to prepend to links to static resources.

        This prefix is exposed to templates as ${skinPath}.

        Specified by:
        getSkinPathPrefix in interface Module
        Returns:
        the skin path prefix. never null.
      • getType

        public ResourceType getType​(String typeName)
        Description copied from interface: Module
        Gets a ResourceType instance given its name.

        The web type lookup is performed in the following order:

        1. First the annotated Groovy classes are checked. (web/ directory)
        2. Then the configuration type registry corresponding
        Specified by:
        getType in interface Module
        Parameters:
        typeName - the type name
        Returns:
        the web type instance
      • getTypes

        public ResourceType[] getTypes()
        Description copied from interface: Module
        Gets the types registered within this module.
        Specified by:
        getTypes in interface Module
        Returns:
        the types. Cannot be null.
      • getAdapters

        public AdapterType[] getAdapters()
        Description copied from interface: Module
        Gets the adapters registered within this module.
        Specified by:
        getAdapters in interface Module
        Returns:
        the adapters. Cannot be null.
      • getAdapter

        public AdapterType getAdapter​(Resource ctx,
                                      String name)
        Description copied from interface: Module
        Gets the named adapter definition for the given resource.
        Specified by:
        getAdapter in interface Module
        Parameters:
        ctx - the target resource
        name - the adapter name
        Returns:
        the adapter if any adapter with that name applies for that resource otherwise throws an exception
      • getAdapterNames

        public List<String> getAdapterNames​(Resource ctx)
        Description copied from interface: Module
        Gets the list of adapter names that applies to the given resource.
        Specified by:
        getAdapterNames in interface Module
        Parameters:
        ctx - the context resource
        Returns:
        the list of adapters Cannot be null.
      • getAdapters

        public List<AdapterType> getAdapters​(Resource ctx)
        Description copied from interface: Module
        Gets the list of adapters that applies to the given resource.
        Specified by:
        getAdapters in interface Module
        Parameters:
        ctx - the context resource
        Returns:
        the list of adapters Cannot be null.
      • getEnabledAdapterNames

        public List<String> getEnabledAdapterNames​(Resource ctx)
        Description copied from interface: Module
        Gets the list of adapter names that are enabled for the given context.

        Enabled services are those adapters which can be accessed in the current security context.

        Specified by:
        getEnabledAdapterNames in interface Module
        Parameters:
        ctx - the context resource
        Returns:
        the list of adapters. Cannot be null.
      • getEnabledAdapters

        public List<AdapterType> getEnabledAdapters​(Resource ctx)
        Description copied from interface: Module
        Gets the list of adapters that are enabled for the given context.

        Enabled adapters are those adapters which can be accessed in the current security context.

        Specified by:
        getEnabledAdapters in interface Module
        Parameters:
        ctx - the context resource
        Returns:
        the list of adapter.s Cannot be null.
      • getMediaTypeId

        public String getMediaTypeId​(javax.ws.rs.core.MediaType mt)
        Specified by:
        getMediaTypeId in interface Module
      • loadConfiguration

        public void loadConfiguration()
      • flushSkinCache

        public void flushSkinCache()
      • flushTypeCache

        public void flushTypeCache()
      • flushRootResourcesCache

        @Deprecated
        public void flushRootResourcesCache()
        Deprecated.
        resources are deprecated - you should use a jax-rs application to declare more resources.
      • flushCache

        public void flushCache()
        Specified by:
        flushCache in interface Module
      • getSkinDir

        public static File getSkinDir​(File moduleDir)
      • loadDirectoryStack

        protected void loadDirectoryStack()
      • getFile

        public ScriptFile getFile​(String path)
        Description copied from interface: Module
        Gets a file using the configured directory stack. Each directory in the stack is asked for the file until a file is found. If no file is found, returns null.

        Note that the implementation may cache the results. To clear any cached data, you should call the Module.flushCache() method.

        Specified by:
        getFile in interface Module
        Parameters:
        path - the file path
        Returns:
        null if no file found otherwise the file
      • getSkinResource

        public ScriptFile getSkinResource​(String path)
                                   throws IOException
        Description copied from interface: Module
        Gets a skin resource input stream. This must not cache resources. This method is using the module stacking directory to find the resource.
        Specified by:
        getSkinResource in interface Module
        Throws:
        IOException
      • createTypeRegistry

        public TypeRegistry createTypeRegistry()
        TODO There are no more reasons to lazy load the type registry since module are lazy loaded. Type registry must be loaded at module creation
      • reloadMessages

        public void reloadMessages()