Interface WeldCapability
-
public interface WeldCapabilityAPI exposed by the Weld capability.- Author:
- Yeray Borges
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description Supplier<javax.enterprise.inject.spi.BeanManager>addBeanManagerService(org.jboss.as.server.deployment.DeploymentUnit unit, org.jboss.msc.service.ServiceBuilder<?> serviceBuilder)Adds the Bean Manager service associated to theDeploymentUnitto ServiceBuilder passed as argument.org.jboss.msc.service.ServiceBuilder<?>addBeanManagerService(org.jboss.as.server.deployment.DeploymentUnit unit, org.jboss.msc.service.ServiceBuilder<?> serviceBuilder, org.jboss.msc.inject.Injector<javax.enterprise.inject.spi.BeanManager> targetInjector)Adds the Bean Manager service associated to theDeploymentUnitto ServiceBuilder passed as argument.voidignorePrecalculatedJandexForModules(org.jboss.as.server.deployment.DeploymentUnit deploymentUnit, String... moduleNames)Deprecated.booleanisPartOfWeldDeployment(org.jboss.as.server.deployment.DeploymentUnit unit)Returns true if theDeploymentUnitis part of a weld deployment.booleanisWeldDeployment(org.jboss.as.server.deployment.DeploymentUnit unit)Returns true if theDeploymentUnithas a beans.xml in any of it's resource roots, or is a top level deployment that contains sub-deployments that are weld deployments.voidregisterExtensionInstance(javax.enterprise.inject.spi.Extension extension, org.jboss.as.server.deployment.DeploymentUnit unit)Registers a CDI Portable Extension for theDeploymentUnitpassed as argument to this method.
-
-
-
Method Detail
-
registerExtensionInstance
void registerExtensionInstance(javax.enterprise.inject.spi.Extension extension, org.jboss.as.server.deployment.DeploymentUnit unit)Registers a CDI Portable Extension for theDeploymentUnitpassed as argument to this method.The extension is registered if only if the DeploymentUnit is part of a Weld Deployment. Specifically, if a call to
isPartOfWeldDeployment(DeploymentUnit)using the DeploymentUnit argument returnstrue. Otherwise this method will return immediately.- Parameters:
extension- An instance of the CDI portable extension to add.unit- The deployment unit where the extension will be registered.
-
addBeanManagerService
Supplier<javax.enterprise.inject.spi.BeanManager> addBeanManagerService(org.jboss.as.server.deployment.DeploymentUnit unit, org.jboss.msc.service.ServiceBuilder<?> serviceBuilder)
Adds the Bean Manager service associated to theDeploymentUnitto ServiceBuilder passed as argument.The Bean Manager service is added if only if the DeploymentUnit is part of a Weld Deployment. Specifically, if a call to
isPartOfWeldDeployment(DeploymentUnit)using the DeploymentUnit argument returnstrue. Otherwise this method will returnnull.- Parameters:
unit- DeploymentUnit used to get the Bean Manager service name. Cannot be null.serviceBuilder- The service builder used to add the dependency. Cannot be null.- Returns:
- A supplier that contains the BeanManager instance if the DeploymentUnit is part of a Weld Deployment, otherwise
returns
null. - Throws:
IllegalStateException- if this method have been called afterServiceBuilder.setInstance(org.jboss.msc.Service)method.UnsupportedOperationException- if this service builder wasn't created viaServiceTarget.addService(ServiceName)method.
-
addBeanManagerService
org.jboss.msc.service.ServiceBuilder<?> addBeanManagerService(org.jboss.as.server.deployment.DeploymentUnit unit, org.jboss.msc.service.ServiceBuilder<?> serviceBuilder, org.jboss.msc.inject.Injector<javax.enterprise.inject.spi.BeanManager> targetInjector)Adds the Bean Manager service associated to theDeploymentUnitto ServiceBuilder passed as argument. Use this method to add the service dependency for legacy msc services.The Bean Manager service is added if only if the DeploymentUnit is part of a Weld Deployment. Specifically, if a call to
isPartOfWeldDeployment(DeploymentUnit)using the DeploymentUnit argument returnstrue. Otherwise this method will return immediately without applying any modification to the serviceBuilder.- Parameters:
unit-DeploymentUnitused to get the Bean Manager service name. Cannot be null.serviceBuilder- The service builder used to add the dependency. Cannot be null.targetInjector- the injector into which the dependency should be stored. Cannot be null.- Returns:
- the ServiceBuilder with the Bean Manager service added.
- Throws:
UnsupportedOperationException- if the service builder was created viaServiceTarget.addService(ServiceName)method.
-
isPartOfWeldDeployment
boolean isPartOfWeldDeployment(org.jboss.as.server.deployment.DeploymentUnit unit)
Returns true if theDeploymentUnitis part of a weld deployment.- Parameters:
unit-DeploymentUnitto check.- Returns:
- true if the
DeploymentUnitis part of a weld deployment.
-
isWeldDeployment
boolean isWeldDeployment(org.jboss.as.server.deployment.DeploymentUnit unit)
Returns true if theDeploymentUnithas a beans.xml in any of it's resource roots, or is a top level deployment that contains sub-deployments that are weld deployments.- Parameters:
unit-DeploymentUnitto check.- Returns:
- true if the
DeploymentUnithas a beans.xml in any of it's resource roots, or is a top level deployment that contains sub-deployments that are weld deployments.
-
ignorePrecalculatedJandexForModules
@Deprecated void ignorePrecalculatedJandexForModules(org.jboss.as.server.deployment.DeploymentUnit deploymentUnit, String... moduleNames)
Deprecated.Some Maven artifacts come with a precalculated Jandex index file. This is problematic when running in EE9 preview mode since the index may referencejavax.annotations, while Weld looks forjakarta.annotations. This results in the CDI beans from such jars not being found. This allows us to bypass using the cached Jandex index for the modules passed in.Note: This method works out whether running in EE9 preview mode or not. If not running in EE9 preview mode calling this method is a noop.
This method is deprecated, simply because once we fully move to EE9 it will more than likely have served its purpose.
- Parameters:
deploymentUnit- The deployment unit to attach the ignored modules to. The implementation of this method will associate the ignored modules with the top level deployment unit.moduleNames- The names of the modules to ignore precalculated indexes for
-
-