public BeanEntry createBeanEntry()

in jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/DefaultBeanEntryFactory.java [46:88]


    public <T> BeanEntry<T> createBeanEntry(Bean<T> bean,
                                            CreationalContext<T> creationalContext,
                                            boolean scopeBeanEventEnabled,
                                            boolean accessBeanEventEnabled,
                                            boolean unscopeBeanEventEnabled)
    {
        if(Serializable.class.isAssignableFrom(bean.getClass()))
        {
            return new ConversationBeanEntry<T>(creationalContext,
                                                bean,
                                                this.beanManager,
                                                scopeBeanEventEnabled,
                                                accessBeanEventEnabled,
                                                unscopeBeanEventEnabled);
        }

        if(PassivationCapable.class.isAssignableFrom(bean.getClass()))
        {
            return new PassivationAwareConversationBeanEntry<T>(creationalContext,
                                                                bean,
                                                                ((PassivationCapable)bean).getId(),
                                                                this.beanManager,
                                                                scopeBeanEventEnabled,
                                                                accessBeanEventEnabled,
                                                                unscopeBeanEventEnabled);
        }

        //should never occur
        Logger logger = Logger.getLogger(DefaultBeanEntryFactory.class.getName());
        if(logger.isLoggable(Level.WARNING))
        {
            logger.warning("the bean-implementation: " + bean.getClass() + " doesn't implement " +
                Serializable.class.getName() + " or " + PassivationCapable.class.getName() +
                    " -> mechanisms like session serialization won't work.");
        }

        return new ConversationBeanEntry<T>(creationalContext,
                                            bean,
                                            this.beanManager,
                                            scopeBeanEventEnabled,
                                            accessBeanEventEnabled,
                                            unscopeBeanEventEnabled);
    }