public final Object getConvertedValue()

in core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererWrapper.java [397:485]


    public final Object getConvertedValue(FacesContext facesContext, UIComponent uiComponent, Object o)
        throws ConverterException
    {
        boolean delegateToWrappedRenderer = true;
        Object convertedObject = null;

        try
        {
            try
            {
                for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
                {
                    if (logger.isLoggable(Level.FINEST))
                    {
                        logger.finest("start beforeGetConvertedValue of " + rendererInterceptor.getClass().getName());
                    }

                    try
                    {
                        rendererInterceptor.beforeGetConvertedValue(facesContext, uiComponent, o, this.wrapped);
                    }
                    catch (SkipRendererDelegationException e)
                    {
                        convertedObject = e.getReturnValueOnException(convertedObject);

                        logger.log(Level.FINEST, "getConvertedValue delegation canceled", e);

                        delegateToWrappedRenderer = false;

                        if(e.isSkipOtherInterceptors())
                        {
                            break;
                        }
                    }

                    if (logger.isLoggable(Level.FINEST))
                    {
                        logger.finest("beforeGetConvertedValue of " +
                                rendererInterceptor.getClass().getName() + " finished");
                    }
                }
            }
            catch (SkipBeforeInterceptorsException e)
            {
                logger.log(Level.FINEST, "beforeGetConvertedValue interceptors canceled", e);
            }

            /*
             * delegate
             */
            if(delegateToWrappedRenderer)
            {
                convertedObject = wrapped.getConvertedValue(facesContext, uiComponent, o);
            }

            try
            {
                for(RendererInterceptor rendererInterceptor : extValContext.getRendererInterceptors())
                {
                    if (logger.isLoggable(Level.FINEST))
                    {
                        logger.finest(
                                "start afterGetConvertedValue of " + rendererInterceptor.getClass().getName());
                    }

                    rendererInterceptor.afterGetConvertedValue(facesContext, uiComponent, o, this.wrapped);

                    if (logger.isLoggable(Level.FINEST))
                    {
                        logger.finest(
                                "afterGetConvertedValue of " + rendererInterceptor.getClass().getName() + " finished");
                    }
                }
            }
            catch (SkipAfterInterceptorsException e)
            {
                logger.log(Level.FINEST, "afterGetConvertedValue interceptors canceled", e);
            }
        }
        finally
        {
            if(this.wrapped instanceof ExtValLazyRendererProxy)
            {
                ((ExtValLazyRendererProxy)this.wrapped).resetConvertedValueCache();
            }
        }

        return convertedObject;
    }