org.jboss.webbeans.bean
Class BeanFactory

java.lang.Object
  extended by org.jboss.webbeans.bean.BeanFactory

public class BeanFactory
extends java.lang.Object

Utility class for creating Web Beans

Author:
Pete Muir

Constructor Summary
BeanFactory()
           
 
Method Summary
static
<T> EnterpriseBean<T>
createEnterpriseBean(java.lang.Class<T> clazz, ManagerImpl manager)
          Creates a simple, annotation defined Enterprise Web Bean
static
<T,S> EventBean<T,S>
createEventBean(AnnotatedItem<Event<T>,S> field, ManagerImpl manager)
          Creates an event Web Bean
static
<T,S> InstanceBean<T,S>
createInstanceBean(AnnotatedItem<Instance<T>,S> field, ManagerImpl manager)
          Creates an instance Web Bean
static
<T> ObserverImpl<T>
createObserver(AnnotatedMethod<java.lang.Object> method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
          Creates an observer
static
<T> ProducerFieldBean<T>
createProducerFieldBean(AnnotatedField<T> field, AbstractClassBean<?> declaringBean, ManagerImpl manager)
          Creates a producer field Web Bean
static
<T> ProducerFieldBean<T>
createProducerFieldBean(java.lang.Class<T> type, java.lang.reflect.Field field, AbstractClassBean<?> declaringBean, ManagerImpl manager)
          Creates a producer field Web Bean
static
<T> ProducerMethodBean<T>
createProducerMethodBean(AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
          Creates a producer method Web Bean
static
<T> ProducerMethodBean<T>
createProducerMethodBean(java.lang.Class<T> type, java.lang.reflect.Method method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
          Creates a producer method Web Bean
static
<T> SimpleBean<T>
createSimpleBean(java.lang.Class<T> clazz, ManagerImpl manager)
          Creates a simple, annotation defined Web Bean
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanFactory

public BeanFactory()
Method Detail

createSimpleBean

public static <T> SimpleBean<T> createSimpleBean(java.lang.Class<T> clazz,
                                                 ManagerImpl manager)
Creates a simple, annotation defined Web Bean

Type Parameters:
T - The type
Parameters:
clazz - The class
manager - the current manager
Returns:
A Web Bean

createEnterpriseBean

public static <T> EnterpriseBean<T> createEnterpriseBean(java.lang.Class<T> clazz,
                                                         ManagerImpl manager)
Creates a simple, annotation defined Enterprise Web Bean

Type Parameters:
T - The type
Parameters:
clazz - The class
manager - the current manager
Returns:
An Enterprise Web Bean

createProducerMethodBean

public static <T> ProducerMethodBean<T> createProducerMethodBean(java.lang.Class<T> type,
                                                                 java.lang.reflect.Method method,
                                                                 AbstractClassBean<?> declaringBean,
                                                                 ManagerImpl manager)
Creates a producer method Web Bean

Type Parameters:
T - The type
Parameters:
type - The class
method - The underlying method
declaringBean - The declaring bean abstraction
manager - the current manager
Returns:
A producer Web Bean

createProducerFieldBean

public static <T> ProducerFieldBean<T> createProducerFieldBean(java.lang.Class<T> type,
                                                               java.lang.reflect.Field field,
                                                               AbstractClassBean<?> declaringBean,
                                                               ManagerImpl manager)
Creates a producer field Web Bean

Type Parameters:
T - The type
Parameters:
type - The class
field - The underlying field
declaringBean - The declaring bean abstraction
manager - the current manager
Returns:
A producer Web Bean

createProducerFieldBean

public static <T> ProducerFieldBean<T> createProducerFieldBean(AnnotatedField<T> field,
                                                               AbstractClassBean<?> declaringBean,
                                                               ManagerImpl manager)
Creates a producer field Web Bean

Parameters:
field - The underlying method abstraction
declaringBean - The declaring bean abstraction
manager - the current manager
Returns:
A producer Web Bean

createProducerMethodBean

public static <T> ProducerMethodBean<T> createProducerMethodBean(AnnotatedMethod<T> method,
                                                                 AbstractClassBean<?> declaringBean,
                                                                 ManagerImpl manager)
Creates a producer method Web Bean

Parameters:
method - The underlying method abstraction
declaringBean - The declaring bean abstraction
manager - the current manager
Returns:
A producer Web Bean

createEventBean

public static <T,S> EventBean<T,S> createEventBean(AnnotatedItem<Event<T>,S> field,
                                                   ManagerImpl manager)
Creates an event Web Bean

Parameters:
field - The event injection point abstraction
manager - the current manager
declaringBean - The declaring bean abstraction
Returns:
An event Web Bean

createInstanceBean

public static <T,S> InstanceBean<T,S> createInstanceBean(AnnotatedItem<Instance<T>,S> field,
                                                         ManagerImpl manager)
Creates an instance Web Bean

Parameters:
field - The instance injection point abstraction
manager - the current manager
declaringBean - The declaring bean abstraction
Returns:
An event Web Bean

createObserver

public static <T> ObserverImpl<T> createObserver(AnnotatedMethod<java.lang.Object> method,
                                                 AbstractClassBean<?> declaringBean,
                                                 ManagerImpl manager)
Creates an observer

Parameters:
method - The observer method abstraction
declaringBean - The declaring bean
manager - The Web Beans manager
Returns:
An observer implementation built from the method abstraction


Copyright © 2008. All Rights Reserved.