Class 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 for Producers backing producer fields and producer methods.
    Author:
    Jozef Hartinger, Marko Luksa
    • Method Detail

      • checkDeclaringBean

        protected void checkDeclaringBean()
      • 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 instance
        receiverCreationalContext - the creational context of the receiver
        Returns:
        The receiver
      • dispose

        public void dispose​(T instance)
      • produce

        public T produce​(jakarta.enterprise.context.spi.CreationalContext<T> ctx)
      • getDisposalMethod

        public DisposalMethod<?,​?> getDisposalMethod()
      • isTypeSerializable

        protected boolean isTypeSerializable​(Object object)
      • 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 a Bean this producer is associated with or null if no such bean exists.
        Specified by:
        getBean in class AbstractProducer<T>
      • getAnnotated

        public abstract jakarta.enterprise.inject.spi.AnnotatedMember<? super X> getAnnotated()
        Specified by:
        getAnnotated in class AbstractProducer<T>
      • produce

        protected abstract T produce​(Object receiver,
                                     jakarta.enterprise.context.spi.CreationalContext<T> ctx)