Class AbstractMemberProducer<X,T>
- java.lang.Object
-
- org.jboss.weld.injection.producer.AbstractProducer<T>
-
- org.jboss.weld.injection.producer.AbstractMemberProducer<X,T>
-
- All Implemented Interfaces:
jakarta.enterprise.inject.spi.Producer<T>
- Direct Known Subclasses:
ProducerFieldProducer
,ProducerMethodProducer
public abstract class AbstractMemberProducer<X,T> extends AbstractProducer<T>
Common functionality forProducer
s backing producer fields and producer methods.- Author:
- Jozef Hartinger, Marko Luksa
-
-
Constructor Summary
Constructors Constructor Description AbstractMemberProducer(EnhancedAnnotatedMember<T,? super X,? extends Member> enhancedMember, DisposalMethod<?,?> disposalMethod)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
checkDeclaringBean()
protected void
checkProducerReturnType(EnhancedAnnotatedMember<T,? super X,? extends Member> enhancedMember)
void
dispose(T instance)
abstract jakarta.enterprise.inject.spi.AnnotatedMember<? super X>
getAnnotated()
abstract jakarta.enterprise.inject.spi.Bean<T>
getBean()
Returns aBean
this producer is associated with or null if no such bean exists.abstract BeanManagerImpl
getBeanManager()
abstract jakarta.enterprise.inject.spi.Bean<X>
getDeclaringBean()
DisposalMethod<?,?>
getDisposalMethod()
protected Object
getReceiver(jakarta.enterprise.context.spi.CreationalContext<?> productCreationalContext, jakarta.enterprise.context.spi.CreationalContext<?> receiverCreationalContext)
Gets the receiver of the product.protected boolean
isTypeSerializable(Object object)
T
produce(jakarta.enterprise.context.spi.CreationalContext<T> ctx)
protected abstract T
produce(Object receiver, jakarta.enterprise.context.spi.CreationalContext<T> ctx)
protected abstract DefinitionException
producerWithInvalidTypeVariable(jakarta.enterprise.inject.spi.AnnotatedMember<?> member)
protected abstract DefinitionException
producerWithInvalidWildcard(jakarta.enterprise.inject.spi.AnnotatedMember<?> member)
protected abstract DefinitionException
producerWithParameterizedTypeWithTypeVariableBeanTypeMustBeDependent(jakarta.enterprise.inject.spi.AnnotatedMember<?> member)
String
toString()
-
Methods inherited from class org.jboss.weld.injection.producer.AbstractProducer
checkDelegateInjectionPoints, equals, hashCode
-
-
-
-
Constructor Detail
-
AbstractMemberProducer
public AbstractMemberProducer(EnhancedAnnotatedMember<T,? super X,? extends Member> enhancedMember, DisposalMethod<?,?> disposalMethod)
-
-
Method Detail
-
checkDeclaringBean
protected void checkDeclaringBean()
-
checkProducerReturnType
protected void checkProducerReturnType(EnhancedAnnotatedMember<T,? super X,? extends Member> enhancedMember)
-
producerWithInvalidTypeVariable
protected abstract DefinitionException producerWithInvalidTypeVariable(jakarta.enterprise.inject.spi.AnnotatedMember<?> member)
-
producerWithInvalidWildcard
protected abstract DefinitionException producerWithInvalidWildcard(jakarta.enterprise.inject.spi.AnnotatedMember<?> member)
-
producerWithParameterizedTypeWithTypeVariableBeanTypeMustBeDependent
protected abstract DefinitionException producerWithParameterizedTypeWithTypeVariableBeanTypeMustBeDependent(jakarta.enterprise.inject.spi.AnnotatedMember<?> member)
-
getReceiver
protected Object getReceiver(jakarta.enterprise.context.spi.CreationalContext<?> productCreationalContext, jakarta.enterprise.context.spi.CreationalContext<?> receiverCreationalContext)
Gets the receiver of the product. The two creational contexts need to be separated because the receiver only serves the product creation (it is not a dependent instance of the created instance).- Parameters:
productCreationalContext
- the creational context of the produced instancereceiverCreationalContext
- the creational context of the receiver- Returns:
- The receiver
-
dispose
public void dispose(T instance)
-
getDisposalMethod
public DisposalMethod<?,?> getDisposalMethod()
-
isTypeSerializable
protected boolean isTypeSerializable(Object object)
-
getBeanManager
public abstract BeanManagerImpl getBeanManager()
-
getDeclaringBean
public abstract jakarta.enterprise.inject.spi.Bean<X> getDeclaringBean()
-
getBean
public abstract jakarta.enterprise.inject.spi.Bean<T> getBean()
Description copied from class:AbstractProducer
Returns aBean
this producer is associated with or null if no such bean exists.- Specified by:
getBean
in classAbstractProducer<T>
-
getAnnotated
public abstract jakarta.enterprise.inject.spi.AnnotatedMember<? super X> getAnnotated()
- Specified by:
getAnnotated
in classAbstractProducer<T>
-
produce
protected abstract T produce(Object receiver, jakarta.enterprise.context.spi.CreationalContext<T> ctx)
-
-