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;
}