Class SessionBeanComponentDescription

All Implemented Interfaces:
ResourceInjectionTarget
Direct Known Subclasses:
SingletonComponentDescription, StatefulComponentDescription, StatelessComponentDescription

public abstract class SessionBeanComponentDescription extends EJBComponentDescription
Author:
Jaikiran Pai, Richard Opalka
  • Constructor Details

    • SessionBeanComponentDescription

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

    • addLocalBusinessInterfaceViews

      public void addLocalBusinessInterfaceViews(Collection<String> classNames)
    • addLocalBusinessInterfaceViews

      public void addLocalBusinessInterfaceViews(String... classNames)
    • addNoInterfaceView

      public void addNoInterfaceView()
    • addWebserviceEndpointView

      public EJBViewDescription addWebserviceEndpointView()
    • addRemoteBusinessInterfaceViews

      public void addRemoteBusinessInterfaceViews(Collection<String> classNames)
    • hasNoInterfaceView

      public boolean hasNoInterfaceView()
    • setBeanLevelLockType

      public void setBeanLevelLockType(String className, jakarta.ejb.LockType locktype)
      Sets the LockType applicable for the bean.
      Parameters:
      className - The class that has the annotation
      locktype - The lock type applicable for the bean
    • getBeanLevelLockType

      public Map<String,jakarta.ejb.LockType> getBeanLevelLockType()
      Returns the LockType applicable for the bean.
      Returns:
    • setLockType

      public void setLockType(jakarta.ejb.LockType lockType, org.jboss.invocation.proxy.MethodIdentifier method)
      Sets the LockType for the specific bean method
      Parameters:
      lockType - The applicable lock type for the method
      method - The method
    • getMethodApplicableLockTypes

      public Map<org.jboss.invocation.proxy.MethodIdentifier,jakarta.ejb.LockType> getMethodApplicableLockTypes()
    • getBeanLevelAccessTimeout

      public Map<String,AccessTimeoutDetails> getBeanLevelAccessTimeout()
      Returns the AccessTimeout applicable for the bean.
      Returns:
    • setBeanLevelAccessTimeout

      public void setBeanLevelAccessTimeout(String className, AccessTimeoutDetails accessTimeout)
      Sets the AccessTimeout applicable for the bean.
      Parameters:
      accessTimeout - The access timeout applicable for the class
    • setAccessTimeout

      public void setAccessTimeout(AccessTimeoutDetails accessTimeout, org.jboss.invocation.proxy.MethodIdentifier method)
      Sets the AccessTimeout for the specific bean method
      Parameters:
      accessTimeout - The applicable access timeout for the method
      method - The method
    • getMethodApplicableAccessTimeouts

      public Map<org.jboss.invocation.proxy.MethodIdentifier,AccessTimeoutDetails> getMethodApplicableAccessTimeouts()
    • getConcurrencyManagementType

      public jakarta.ejb.ConcurrencyManagementType getConcurrencyManagementType()
      Returns the concurrency management type for this bean.

      This method returns null if the concurrency management type hasn't explicitly been set on this SessionBeanComponentDescription

      Returns:
    • setConcurrencyManagementType

      public void setConcurrencyManagementType(jakarta.ejb.ConcurrencyManagementType concurrencyManagementType)
    • getMappedName

      public String getMappedName()
      Returns the mapped-name of this bean
      Returns:
    • setMappedName

      public void setMappedName(String mappedName)
      Sets the mapped-name for this bean
      Parameters:
      mappedName -
    • addAsynchronousMethod

      public void addAsynchronousMethod(org.jboss.invocation.proxy.MethodIdentifier methodIdentifier)
      Add an asynchronous method.
      Parameters:
      methodIdentifier - The identifier for an async method
    • getAsynchronousMethods

      public Set<org.jboss.invocation.proxy.MethodIdentifier> getAsynchronousMethods()
      Returns:
      The identifier of all async methods
    • addAsynchronousClass

      public void addAsynchronousClass(String viewName)
      Add a bean class or superclass that has been marked asynchronous
      Parameters:
      viewName - The view name
    • getAsynchronousClasses

      public Set<String> getAsynchronousClasses()
      Returns:
      The class name of all asynchronous classes
    • getSessionBeanType

      public abstract SessionBeanComponentDescription.SessionBeanType getSessionBeanType()
      Returns the type of the session bean
      Returns:
    • setupViewInterceptors

      protected void setupViewInterceptors(EJBViewDescription view)
      Overrides:
      setupViewInterceptors in class EJBComponentDescription
    • getSessionBeanObjectViewConfigurator

      protected abstract ViewConfigurator getSessionBeanObjectViewConfigurator()
    • addTxManagementInterceptorForView

      protected static void addTxManagementInterceptorForView(ViewDescription view)
      Sets up the transaction management interceptor for all methods of the passed view.
      Parameters:
      view - The EJB bean view
    • addCurrentInvocationContextFactory

      protected void addCurrentInvocationContextFactory()
      Description copied from class: EJBComponentDescription
      Setup the current invocation context interceptor, which will be used during the post-construct lifecycle of the component instance
      Specified by:
      addCurrentInvocationContextFactory in class EJBComponentDescription
    • addCurrentInvocationContextFactory

      protected void addCurrentInvocationContextFactory(ViewDescription view)
      Description copied from class: EJBComponentDescription
      Setup the current invocation context interceptor, which will be used during the invocation on the view (methods)
      Specified by:
      addCurrentInvocationContextFactory in class EJBComponentDescription
      Parameters:
      view - The view for which the interceptor has to be setup
    • isSession

      public boolean isSession()
      Overrides:
      isSession in class EJBComponentDescription
    • isSingleton

      public boolean isSingleton()
      Overrides:
      isSingleton in class EJBComponentDescription
    • isStateful

      public boolean isStateful()
      Overrides:
      isStateful in class EJBComponentDescription
    • isStateless

      public boolean isStateless()
      Overrides:
      isStateless in class EJBComponentDescription
    • getDescriptorData

      public org.jboss.metadata.ejb.spec.SessionBeanMetaData getDescriptorData()
      Overrides:
      getDescriptorData in class EJBComponentDescription