public class org.apache.camel.component.direct.DirectEndpoint extends org.apache.camel.impl.DefaultEndpoint
{
private final java.util.Map consumers;
private final java.util.List producers;
private java.lang.String name;
private boolean block;
private long timeout;
private boolean failIfNoConsumers;
public void <init>()
{
java.util.HashMap v;
org.apache.camel.component.direct.DirectEndpoint v;
java.util.ArrayList v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
specialinvoke v.<org.apache.camel.impl.DefaultEndpoint: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.camel.component.direct.DirectEndpoint: java.util.List producers> = v;
v.<org.apache.camel.component.direct.DirectEndpoint: boolean block> = 1;
v.<org.apache.camel.component.direct.DirectEndpoint: long timeout> = 30000L;
v.<org.apache.camel.component.direct.DirectEndpoint: boolean failIfNoConsumers> = 1;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers> = v;
return;
}
public void <init>(java.lang.String, org.apache.camel.Component)
{
org.apache.camel.component.direct.DirectEndpoint v;
java.util.HashMap v;
org.apache.camel.Component v;
java.lang.String v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: java.lang.String;
v := @parameter: org.apache.camel.Component;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
specialinvoke v.<org.apache.camel.component.direct.DirectEndpoint: void <init>(java.lang.String,org.apache.camel.Component,java.util.Map)>(v, v, v);
return;
}
public void <init>(java.lang.String, org.apache.camel.Component, java.util.Map)
{
org.apache.camel.component.direct.DirectEndpoint v;
java.util.Map v;
org.apache.camel.Component v;
java.lang.String v;
java.util.ArrayList v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: java.lang.String;
v := @parameter: org.apache.camel.Component;
v := @parameter: java.util.Map;
specialinvoke v.<org.apache.camel.impl.DefaultEndpoint: void <init>(java.lang.String,org.apache.camel.Component)>(v, v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.camel.component.direct.DirectEndpoint: java.util.List producers> = v;
v.<org.apache.camel.component.direct.DirectEndpoint: boolean block> = 1;
v.<org.apache.camel.component.direct.DirectEndpoint: long timeout> = 30000L;
v.<org.apache.camel.component.direct.DirectEndpoint: boolean failIfNoConsumers> = 1;
v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers> = v;
return;
}
public org.apache.camel.Producer createProducer() throws java.lang.Exception
{
org.apache.camel.component.direct.DirectEndpoint v;
org.apache.camel.component.direct.DirectProducer v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v = new org.apache.camel.component.direct.DirectProducer;
specialinvoke v.<org.apache.camel.component.direct.DirectProducer: void <init>(org.apache.camel.component.direct.DirectEndpoint)>(v);
return v;
}
public org.apache.camel.Consumer createConsumer(org.apache.camel.Processor) throws java.lang.Exception
{
org.apache.camel.Processor v;
org.apache.camel.component.direct.DirectEndpoint v;
org.apache.camel.component.direct.DirectConsumer v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: org.apache.camel.Processor;
v = new org.apache.camel.component.direct.DirectConsumer;
specialinvoke v.<org.apache.camel.component.direct.DirectConsumer: void <init>(org.apache.camel.Endpoint,org.apache.camel.Processor)>(v, v);
virtualinvoke v.<org.apache.camel.component.direct.DirectEndpoint: void configureConsumer(org.apache.camel.Consumer)>(v);
return v;
}
public boolean isSingleton()
{
org.apache.camel.component.direct.DirectEndpoint v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
return 1;
}
public void addConsumer(org.apache.camel.component.direct.DirectConsumer)
{
java.lang.Throwable v;
org.apache.camel.component.direct.DirectEndpoint v;
java.lang.IllegalArgumentException v;
org.apache.camel.component.direct.DirectConsumer v;
java.util.Map v, v, v;
java.lang.Object v;
java.lang.String v, v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: org.apache.camel.component.direct.DirectConsumer;
v = virtualinvoke v.<org.apache.camel.component.direct.DirectEndpoint: java.lang.String getKey()>();
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
entermonitor v;
label:
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.camel.component.direct.DirectEndpoint)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot add a 2nd consumer to the same endpoint. Endpoint \u only allows one consumer.");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void removeConsumer(org.apache.camel.component.direct.DirectConsumer)
{
java.lang.Throwable v;
org.apache.camel.component.direct.DirectEndpoint v;
java.util.Map v, v, v;
java.lang.String v;
org.apache.camel.component.direct.DirectConsumer v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: org.apache.camel.component.direct.DirectConsumer;
v = virtualinvoke v.<org.apache.camel.component.direct.DirectEndpoint: java.lang.String getKey()>();
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
entermonitor v;
label:
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
interfaceinvoke v.<java.util.Map: boolean remove(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void addProducer(org.apache.camel.component.direct.DirectProducer)
{
java.lang.Throwable v;
java.util.List v;
org.apache.camel.component.direct.DirectEndpoint v;
java.util.Map v;
org.apache.camel.component.direct.DirectProducer v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: org.apache.camel.component.direct.DirectProducer;
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
entermonitor v;
label:
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.List producers>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void removeProducer(org.apache.camel.component.direct.DirectProducer)
{
java.lang.Throwable v;
java.util.List v;
org.apache.camel.component.direct.DirectEndpoint v;
java.util.Map v;
org.apache.camel.component.direct.DirectProducer v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: org.apache.camel.component.direct.DirectProducer;
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
entermonitor v;
label:
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.List producers>;
interfaceinvoke v.<java.util.List: boolean remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected org.apache.camel.component.direct.DirectConsumer getConsumer() throws java.lang.InterruptedException
{
java.lang.Throwable v;
org.apache.camel.component.direct.DirectEndpoint v;
org.apache.camel.util.StopWatch v;
long v, v, v;
byte v;
java.util.Map v, v, v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v = virtualinvoke v.<org.apache.camel.component.direct.DirectEndpoint: java.lang.String getKey()>();
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
entermonitor v;
label:
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.apache.camel.component.direct.DirectEndpoint: boolean block>;
if v == 0 goto label;
v = new org.apache.camel.util.StopWatch;
specialinvoke v.<org.apache.camel.util.StopWatch: void <init>()>();
label:
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = v.<org.apache.camel.component.direct.DirectEndpoint: long timeout>;
v = virtualinvoke v.<org.apache.camel.util.StopWatch: long taken()>();
v = v - v;
v = v cmp 0L;
if v <= 0 goto label;
v = v.<org.apache.camel.component.direct.DirectEndpoint: java.util.Map consumers>;
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
goto label;
label:
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public boolean isBlock()
{
org.apache.camel.component.direct.DirectEndpoint v;
boolean v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v = v.<org.apache.camel.component.direct.DirectEndpoint: boolean block>;
return v;
}
public void setBlock(boolean)
{
org.apache.camel.component.direct.DirectEndpoint v;
boolean v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: boolean;
v.<org.apache.camel.component.direct.DirectEndpoint: boolean block> = v;
return;
}
public long getTimeout()
{
long v;
org.apache.camel.component.direct.DirectEndpoint v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v = v.<org.apache.camel.component.direct.DirectEndpoint: long timeout>;
return v;
}
public void setTimeout(long)
{
long v;
org.apache.camel.component.direct.DirectEndpoint v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: long;
v.<org.apache.camel.component.direct.DirectEndpoint: long timeout> = v;
return;
}
public boolean isFailIfNoConsumers()
{
org.apache.camel.component.direct.DirectEndpoint v;
boolean v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v = v.<org.apache.camel.component.direct.DirectEndpoint: boolean failIfNoConsumers>;
return v;
}
public void setFailIfNoConsumers(boolean)
{
org.apache.camel.component.direct.DirectEndpoint v;
boolean v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v := @parameter: boolean;
v.<org.apache.camel.component.direct.DirectEndpoint: boolean failIfNoConsumers> = v;
return;
}
protected java.lang.String getKey()
{
org.apache.camel.component.direct.DirectEndpoint v;
int v, v;
java.lang.String v, v;
v := @this: org.apache.camel.component.direct.DirectEndpoint;
v = virtualinvoke v.<org.apache.camel.component.direct.DirectEndpoint: java.lang.String getEndpointUri()>();
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(63);
v = (int) -1;
if v == v goto label;
v = staticinvoke <org.apache.camel.util.StringHelper: java.lang.String before(java.lang.String,java.lang.String)>(v, "?");
return v;
label:
return v;
}
}