Class EJBComponentDescription

java.lang.Object
org.jboss.as.ee.component.ComponentDescription
org.jboss.as.ejb3.component.EJBComponentDescription
All Implemented Interfaces:
ResourceInjectionTarget
Direct Known Subclasses:
MessageDrivenComponentDescription, SessionBeanComponentDescription

public abstract class EJBComponentDescription extends ComponentDescription
Author:
Carlo de Wolf NOTE: References in this document to Enterprise JavaBeans (EJB) refer to the Jakarta Enterprise Beans unless otherwise noted.
  • Constructor Details

    • EJBComponentDescription

      public EJBComponentDescription(String componentName, String componentClassName, EjbJarDescription ejbJarDescription, org.jboss.as.server.deployment.DeploymentUnit deploymentUnit, org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData descriptorData)
      Construct a new instance.
      Parameters:
      componentName - the component name
      componentClassName - the component instance class name
      ejbJarDescription - the module
      deploymentUnitServiceName -
      descriptorData - the optional descriptor metadata
  • Method Details

    • addLocalHome

      public void addLocalHome(String localHome)
    • addRemoteHome

      public void addRemoteHome(String remoteHome)
    • addEjbLocalObjectView

      public void addEjbLocalObjectView(String viewClassName)
    • addEjbObjectView

      public void addEjbObjectView(String viewClassName)
    • getTransactionManagementType

      public jakarta.ejb.TransactionManagementType getTransactionManagementType()
    • setTransactionManagementType

      public void setTransactionManagementType(jakarta.ejb.TransactionManagementType transactionManagementType)
    • getEJBName

      public String getEJBName()
    • getEJBClassName

      public String getEJBClassName()
    • setupViewInterceptors

      protected void setupViewInterceptors(EJBViewDescription view)
    • setupClientViewInterceptors

      protected void setupClientViewInterceptors(ViewDescription view)
    • addCurrentInvocationContextFactory

      protected abstract void addCurrentInvocationContextFactory()
      Setup the current invocation context interceptor, which will be used during the post-construct lifecycle of the component instance
    • addCurrentInvocationContextFactory

      protected abstract void addCurrentInvocationContextFactory(ViewDescription view)
      Setup the current invocation context interceptor, which will be used during the invocation on the view (methods)
      Parameters:
      view - The view for which the interceptor has to be setup
    • addRemoteTransactionsDependency

      protected void addRemoteTransactionsDependency()
      Adds a dependency for the ComponentConfiguration on the remote transaction service if the EJB exposes at least one remote view
    • addTransactionManagerDependencies

      protected void addTransactionManagerDependencies()
      Sets up a ComponentConfigurator which then sets up the relevant dependencies on the transaction manager services for the EJBComponentCreateService
    • addEJBSuspendHandlerDependency

      protected void addEJBSuspendHandlerDependency()
      Sets up a ComponentConfigurator which then sets up the dependency on the EJBSuspendHandlerService service for the EJBComponentCreateService
    • setupSecurityInterceptors

      protected void setupSecurityInterceptors(ViewDescription view)
    • isEntity

      public boolean isEntity()
    • isMessageDriven

      public boolean isMessageDriven()
    • isSession

      public boolean isSession()
    • isSingleton

      public boolean isSingleton()
    • isStateful

      public boolean isStateful()
    • isStateless

      public boolean isStateless()
    • addDeclaredRoles

      public void addDeclaredRoles(String... roles)
    • setDeclaredRoles

      public void setDeclaredRoles(Collection<String> roles)
    • getDeclaredRoles

      public Set<String> getDeclaredRoles()
    • setRunAs

      public void setRunAs(String role)
    • getRunAs

      public String getRunAs()
    • setRunAsPrincipal

      public void setRunAsPrincipal(String principal)
    • getRunAsPrincipal

      public String getRunAsPrincipal()
    • setDefaultSecurityDomain

      public void setDefaultSecurityDomain(String defaultSecurityDomain)
    • setOutflowSecurityDomainsConfigured

      public void setOutflowSecurityDomainsConfigured(BooleanSupplier outflowSecurityDomainsConfigured)
    • isOutflowSecurityDomainsConfigured

      public boolean isOutflowSecurityDomainsConfigured()
    • getResolvedSecurityDomain

      public String getResolvedSecurityDomain()
      Returns the security domain that is applicable for this bean. In the absence of any explicit configuration of a security domain for this bean, this method returns the default security domain (if any) that's configured for all beans in the EJB3 subsystem
      Returns:
    • setMissingMethodPermissionsDenyAccess

      public void setMissingMethodPermissionsDenyAccess(Boolean missingMethodPermissionsDenyAccess)
    • isMissingMethodPermissionsDeniedAccess

      public Boolean isMissingMethodPermissionsDeniedAccess()
    • getSecurityRoles

      public org.jboss.metadata.javaee.spec.SecurityRolesMetaData getSecurityRoles()
    • setSecurityRoles

      public void setSecurityRoles(org.jboss.metadata.javaee.spec.SecurityRolesMetaData securityRoles)
    • setSecurityDomainServiceName

      public void setSecurityDomainServiceName(org.jboss.msc.service.ServiceName securityDomainServiceName)
    • getSecurityDomainServiceName

      public org.jboss.msc.service.ServiceName getSecurityDomainServiceName()
    • setDefinedSecurityDomain

      public void setDefinedSecurityDomain(String definedSecurityDomain)
    • getDefinedSecurityDomain

      public String getDefinedSecurityDomain()
    • requiresJacc

      public boolean requiresJacc()
    • setRequiresJacc

      public void setRequiresJacc(boolean requiresJacc)
    • setLegacyCompliantPrincipalPropagation

      public void setLegacyCompliantPrincipalPropagation(boolean legacyCompliantPrincipalPropagation)
    • requiresLegacyCompliantPrincipalPropagation

      public boolean requiresLegacyCompliantPrincipalPropagation()
    • linkSecurityRoles

      public void linkSecurityRoles(String fromRole, String toRole)
    • registerView

      protected EJBViewDescription registerView(String viewClassName, org.jboss.metadata.ejb.spec.MethodInterfaceType viewType)
    • registerView

      protected EJBViewDescription registerView(String viewClassName, org.jboss.metadata.ejb.spec.MethodInterfaceType viewType, boolean ejb2xView)
    • setupRemoteView

      protected void setupRemoteView(EJBViewDescription viewDescription)
    • getSecurityRoleLinks

      public Map<String,Collection<String>> getSecurityRoleLinks()
    • hasBeanLevelSecurityMetadata

      public boolean hasBeanLevelSecurityMetadata()
      Returns true if this component description has any security metadata configured at the EJB level. Else returns false. Note that this method does *not* consider method level security metadata.
      Returns:
    • getTimerServiceResource

      public org.jboss.as.controller.registry.Resource getTimerServiceResource()
    • setTimerServiceResource

      public void setTimerServiceResource(org.jboss.as.controller.registry.Resource timerServiceResource)
    • getDescriptorData

      public org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData getDescriptorData()
    • getTimeoutMethod

      public Method getTimeoutMethod()
    • setTimeoutMethod

      public void setTimeoutMethod(Method timeoutMethod)
    • getScheduleMethods

      public Map<Method,List<AutoTimer>> getScheduleMethods()
    • addScheduleMethod

      public void addScheduleMethod(Method method, AutoTimer timer)
    • getEjbLocalView

      public EJBViewDescription getEjbLocalView()
    • getEjbLocalHomeView

      public EjbHomeViewDescription getEjbLocalHomeView()
    • getEjbHomeView

      public EjbHomeViewDescription getEjbHomeView()
    • getEjbRemoteView

      public EJBViewDescription getEjbRemoteView()
    • isExposedViaIiop

      public boolean isExposedViaIiop()
    • setExposedViaIiop

      public void setExposedViaIiop(boolean exposedViaIiop)
    • getTransactionAttributes

      public ApplicableMethodInformation<jakarta.ejb.TransactionAttributeType> getTransactionAttributes()
    • getTransactionTimeouts

      public ApplicableMethodInformation<Integer> getTransactionTimeouts()
    • getDescriptorMethodPermissions

      public ApplicableMethodInformation<EJBMethodSecurityAttribute> getDescriptorMethodPermissions()
    • getAnnotationMethodPermissions

      public ApplicableMethodInformation<EJBMethodSecurityAttribute> getAnnotationMethodPermissions()
    • setDefaultContainerInterceptors

      public void setDefaultContainerInterceptors(List<InterceptorDescription> defaultInterceptors)
    • getDefaultContainerInterceptors

      public List<InterceptorDescription> getDefaultContainerInterceptors()
    • setClassLevelContainerInterceptors

      public void setClassLevelContainerInterceptors(List<InterceptorDescription> containerInterceptors)
    • getClassLevelContainerInterceptors

      public List<InterceptorDescription> getClassLevelContainerInterceptors()
    • setExcludeDefaultContainerInterceptors

      public void setExcludeDefaultContainerInterceptors(boolean excludeDefaultContainerInterceptors)
    • isExcludeDefaultContainerInterceptors

      public boolean isExcludeDefaultContainerInterceptors()
    • excludeDefaultContainerInterceptors

      public void excludeDefaultContainerInterceptors(org.jboss.invocation.proxy.MethodIdentifier methodIdentifier)
    • isExcludeDefaultContainerInterceptors

      public boolean isExcludeDefaultContainerInterceptors(org.jboss.invocation.proxy.MethodIdentifier methodIdentifier)
    • excludeClassLevelContainerInterceptors

      public void excludeClassLevelContainerInterceptors(org.jboss.invocation.proxy.MethodIdentifier methodIdentifier)
    • isExcludeClassLevelContainerInterceptors

      public boolean isExcludeClassLevelContainerInterceptors(org.jboss.invocation.proxy.MethodIdentifier methodIdentifier)
    • getMethodLevelContainerInterceptors

      public Map<org.jboss.invocation.proxy.MethodIdentifier,List<InterceptorDescription>> getMethodLevelContainerInterceptors()
    • setMethodContainerInterceptors

      public void setMethodContainerInterceptors(org.jboss.invocation.proxy.MethodIdentifier methodIdentifier, List<InterceptorDescription> containerInterceptors)
    • getTimerMethods

      public Set<org.jboss.invocation.proxy.MethodIdentifier> getTimerMethods()
      Overrides:
      getTimerMethods in class ComponentDescription
    • getAllContainerInterceptors

      public Set<InterceptorDescription> getAllContainerInterceptors()
      Returns a combined map of class and method level container interceptors
    • getServerInterceptorCache

      public ServerInterceptorCache getServerInterceptorCache()
    • setServerInterceptorCache

      public void setServerInterceptorCache(ServerInterceptorCache serverInterceptorCache)
    • getShutDownInterceptorFactory

      public ShutDownInterceptorFactory getShutDownInterceptorFactory()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getElytronInterceptorFactories

      public HashMap<Integer,org.jboss.invocation.InterceptorFactory> getElytronInterceptorFactories(String policyContextID, boolean enableJacc, boolean propagateSecurity)
    • setSecurityRequired

      public void setSecurityRequired(boolean securityRequired)
    • isSecurityRequired

      public boolean isSecurityRequired()