Class ModuleSpecification

  • All Implemented Interfaces:
    Attachable
    Direct Known Subclasses:
    AdditionalModuleSpecification

    public class ModuleSpecification
    extends SimpleAttachable
    Information used to build a module. This class is not thread safe. It should only be used by the deployment unit processors associated with a single deployment unit, with a parent deployment and a subdeployment considered to be separate deployments.
    Author:
    Stuart Douglas, Marius Bogoevici
    • Constructor Detail

      • ModuleSpecification

        public ModuleSpecification()
    • Method Detail

      • addSystemDependency

        public void addSystemDependency​(ModuleDependency dependency)
      • addUserDependency

        public void addUserDependency​(ModuleDependency dependency)
      • removeUserDependencies

        public void removeUserDependencies​(Predicate<ModuleDependency> predicate)
        Remove user dependencies that match the predicate.
        Parameters:
        predicate - test for whether a dependency should be removed. Cannot be null.
      • addLocalDependency

        public void addLocalDependency​(ModuleDependency dependency)
      • getSystemDependenciesSet

        public Set<ModuleDependency> getSystemDependenciesSet()
        System dependencies are dependencies that are added automatically by the container.
        Returns:
        system dependencies iterable in order of addition. Will not return null.
      • addExclusion

        public void addExclusion​(org.jboss.modules.ModuleIdentifier exclusion)
      • addExclusions

        public void addExclusions​(Iterable<org.jboss.modules.ModuleIdentifier> exclusions)
      • getLocalDependenciesSet

        public Set<ModuleDependency> getLocalDependenciesSet()
        Local dependencies are dependencies on other parts of the deployment, such as a class-path entry
        Returns:
        local dependencies iterable in order of addition. Will not return null.
      • getUserDependenciesSet

        public Set<ModuleDependency> getUserDependenciesSet()
        User dependencies are dependencies that the user has specifically added, either via jboss-deployment-structure.xml or via the manifest.

        User dependencies are not affected by exclusions.

        Returns:
        user dependencies iterable in order of addition. Will not return null.
      • addResourceLoader

        public void addResourceLoader​(org.jboss.modules.ResourceLoaderSpec resourceLoader)
      • getResourceLoaders

        public List<org.jboss.modules.ResourceLoaderSpec> getResourceLoaders()
      • addClassTransformer

        public void addClassTransformer​(String classTransformer)
      • getClassTransformers

        public List<String> getClassTransformers()
      • isSubDeploymentModulesIsolated

        public boolean isSubDeploymentModulesIsolated()
      • setSubDeploymentModulesIsolated

        public void setSubDeploymentModulesIsolated​(boolean subDeploymentModulesIsolated)
      • isExclusionsCascadedToSubDeployments

        public boolean isExclusionsCascadedToSubDeployments()
      • setExclusionsCascadedToSubDeployments

        public void setExclusionsCascadedToSubDeployments​(boolean exclusionsCascadedToSubDeployments)
      • isPrivateModule

        public boolean isPrivateModule()
      • setPrivateModule

        public void setPrivateModule​(boolean privateModule)
      • isPublicModule

        public boolean isPublicModule()
      • setPublicModule

        public void setPublicModule​(boolean publicModule)
      • isLocalDependenciesTransitive

        public boolean isLocalDependenciesTransitive()
        Returns true if the local dependencies added for this ModuleSpecification should be made transitive (i.e. if any other module 'B' depends on the module 'A' represented by this ModuleSpecification, then module 'B' will be added with all "local dependencies" that are applicable for module "A"). Else returns false.
        Returns:
        true if local dependencies should be made transitive
        See Also:
        getLocalDependenciesSet()
      • isLocalLast

        public boolean isLocalLast()
      • setLocalLast

        public void setLocalLast​(boolean localLast)
      • addAlias

        public void addAlias​(org.jboss.modules.ModuleIdentifier moduleIdentifier)
      • addAliases

        public void addAliases​(Collection<org.jboss.modules.ModuleIdentifier> moduleIdentifiers)
      • getAliases

        public List<org.jboss.modules.ModuleIdentifier> getAliases()
      • addModuleSystemDependencies

        public void addModuleSystemDependencies​(List<org.jboss.modules.DependencySpec> systemDependencies)
      • getModuleSystemDependencies

        public List<org.jboss.modules.DependencySpec> getModuleSystemDependencies()
      • addPermissionFactory

        public void addPermissionFactory​(org.jboss.modules.security.PermissionFactory permissionFactory)
        Add a permission factory to this deployment. This may include permissions not explicitly specified in the domain configuration; such permissions must be validated before being added.
        Parameters:
        permissionFactory - the permission factory to add
      • getPermissionFactories

        public List<org.jboss.modules.security.PermissionFactory> getPermissionFactories()
        Get the permission factory set for this deployment. This may include permissions not explicitly specified in the domain configuration; such permissions must be validated before being added.
        Returns:
        the permission factory set for this deployment
      • getNonexistentExcludedDependencies

        public Set<org.jboss.modules.ModuleIdentifier> getNonexistentExcludedDependencies()