public abstract class org.apache.camel.processor.ErrorHandlerSupport extends org.apache.camel.support.ChildServiceSupport implements org.apache.camel.processor.ErrorHandler
{
protected final org.slf4j.Logger log;
protected final java.util.Map exceptionPolicies;
protected org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy exceptionPolicy;
public void <init>()
{
java.util.LinkedHashMap v;
org.slf4j.Logger v;
org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy v;
org.apache.camel.processor.ErrorHandlerSupport v;
java.lang.Class v;
v := @this: org.apache.camel.processor.ErrorHandlerSupport;
specialinvoke v.<org.apache.camel.support.ChildServiceSupport: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(v);
v.<org.apache.camel.processor.ErrorHandlerSupport: org.slf4j.Logger log> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<org.apache.camel.processor.ErrorHandlerSupport: java.util.Map exceptionPolicies> = v;
v = staticinvoke <org.apache.camel.processor.ErrorHandlerSupport: org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy createDefaultExceptionPolicyStrategy()>();
v.<org.apache.camel.processor.ErrorHandlerSupport: org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy exceptionPolicy> = v;
return;
}
public void addExceptionPolicy(org.apache.camel.spi.RouteContext, org.apache.camel.model.OnExceptionDefinition)
{
org.apache.camel.Processor v;
java.util.Map v;
org.apache.camel.processor.ErrorHandlerSupport v;
java.lang.String v, v;
boolean v, v;
org.apache.camel.model.RouteDefinition v, v;
java.util.Iterator v;
org.apache.camel.model.OnExceptionDefinition v;
org.apache.camel.processor.exceptionpolicy.ExceptionPolicyKey v;
java.util.List v;
org.apache.camel.model.WhenDefinition v;
java.lang.Object v;
org.apache.camel.spi.RouteContext v;
v := @this: org.apache.camel.processor.ErrorHandlerSupport;
v := @parameter: org.apache.camel.spi.RouteContext;
v := @parameter: org.apache.camel.model.OnExceptionDefinition;
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: org.apache.camel.model.RouteDefinition getRoute()>();
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: java.lang.String getId()>();
v = virtualinvoke v.<org.apache.camel.model.OnExceptionDefinition: org.apache.camel.Processor getErrorHandler(java.lang.String)>(v);
if v == null goto label;
virtualinvoke v.<org.apache.camel.processor.ErrorHandlerSupport: void addChildService(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.camel.model.OnExceptionDefinition: java.util.List getExceptionClasses()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = null;
v = virtualinvoke v.<org.apache.camel.model.OnExceptionDefinition: boolean isRouteScoped()>();
if v == 0 goto label;
v = staticinvoke <org.apache.camel.model.ProcessorDefinitionHelper: org.apache.camel.model.RouteDefinition getRoute(org.apache.camel.model.ProcessorDefinition)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: java.lang.String getId()>();
label:
v = new org.apache.camel.processor.exceptionpolicy.ExceptionPolicyKey;
v = virtualinvoke v.<org.apache.camel.model.OnExceptionDefinition: org.apache.camel.model.WhenDefinition getOnWhen()>();
specialinvoke v.<org.apache.camel.processor.exceptionpolicy.ExceptionPolicyKey: void <init>(java.lang.String,java.lang.Class,org.apache.camel.model.WhenDefinition)>(v, v, v);
v = v.<org.apache.camel.processor.ErrorHandlerSupport: java.util.Map exceptionPolicies>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return;
}
protected org.apache.camel.model.OnExceptionDefinition getExceptionPolicy(org.apache.camel.Exchange, java.lang.Throwable)
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
org.apache.camel.model.OnExceptionDefinition v;
org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy v, v;
org.apache.camel.Exchange v;
java.util.Map v;
org.apache.camel.processor.ErrorHandlerSupport v;
v := @this: org.apache.camel.processor.ErrorHandlerSupport;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.lang.Throwable;
v = v.<org.apache.camel.processor.ErrorHandlerSupport: org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy exceptionPolicy>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("The exception policy has not been set");
throw v;
label:
v = v.<org.apache.camel.processor.ErrorHandlerSupport: org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy exceptionPolicy>;
v = v.<org.apache.camel.processor.ErrorHandlerSupport: java.util.Map exceptionPolicies>;
v = interfaceinvoke v.<org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy: org.apache.camel.model.OnExceptionDefinition getExceptionPolicy(java.util.Map,org.apache.camel.Exchange,java.lang.Throwable)>(v, v, v);
return v;
}
public void setExceptionPolicy(org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy)
{
org.apache.camel.processor.ErrorHandlerSupport v;
org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy v;
v := @this: org.apache.camel.processor.ErrorHandlerSupport;
v := @parameter: org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy;
if v == null goto label;
v.<org.apache.camel.processor.ErrorHandlerSupport: org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy exceptionPolicy> = v;
label:
return;
}
public static org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy createDefaultExceptionPolicyStrategy()
{
org.apache.camel.processor.exceptionpolicy.DefaultExceptionPolicyStrategy v;
v = new org.apache.camel.processor.exceptionpolicy.DefaultExceptionPolicyStrategy;
specialinvoke v.<org.apache.camel.processor.exceptionpolicy.DefaultExceptionPolicyStrategy: void <init>()>();
return v;
}
public abstract boolean supportTransacted();
public boolean isDeadLetterChannel()
{
org.apache.camel.processor.ErrorHandlerSupport v;
v := @this: org.apache.camel.processor.ErrorHandlerSupport;
return 0;
}
public abstract org.apache.camel.Processor getOutput();
}