public class org.apache.camel.component.directvm.DirectVmComponent extends org.apache.camel.impl.UriEndpointComponent
{
private static final java.util.concurrent.atomic.AtomicInteger START_COUNTER;
private static final java.util.concurrent.ConcurrentMap CONSUMERS;
private boolean block;
private long timeout;
private org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy;
private boolean propagateProperties;
public void <init>()
{
org.apache.camel.component.directvm.DirectVmComponent v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
specialinvoke v.<org.apache.camel.impl.UriEndpointComponent: void <init>(java.lang.Class)>(class "Lorg/apache/camel/component/directvm/DirectVmEndpoint;");
v.<org.apache.camel.component.directvm.DirectVmComponent: boolean block> = 1;
v.<org.apache.camel.component.directvm.DirectVmComponent: long timeout> = 30000L;
v.<org.apache.camel.component.directvm.DirectVmComponent: boolean propagateProperties> = 1;
return;
}
public static java.util.Collection getConsumerEndpoints()
{
java.util.Iterator v;
java.util.Collection v;
java.util.ArrayList v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.camel.component.directvm.DirectVmEndpoint v;
int v;
java.lang.Object v;
boolean v;
v = new java.util.ArrayList;
v = <org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.ConcurrentMap CONSUMERS>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: int size()>();
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = <org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.ConcurrentMap CONSUMERS>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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 = virtualinvoke v.<org.apache.camel.component.directvm.DirectVmConsumer: org.apache.camel.component.directvm.DirectVmEndpoint getEndpoint()>();
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
protected org.apache.camel.Endpoint createEndpoint(java.lang.String, java.lang.String, java.util.Map) throws java.lang.Exception
{
long v;
org.apache.camel.component.directvm.DirectVmComponent v;
org.apache.camel.component.directvm.DirectVmEndpoint v;
java.util.Map v;
java.lang.String v, v;
boolean v, v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v = new org.apache.camel.component.directvm.DirectVmEndpoint;
specialinvoke v.<org.apache.camel.component.directvm.DirectVmEndpoint: void <init>(java.lang.String,org.apache.camel.component.directvm.DirectVmComponent)>(v, v);
v = v.<org.apache.camel.component.directvm.DirectVmComponent: boolean block>;
virtualinvoke v.<org.apache.camel.component.directvm.DirectVmEndpoint: void setBlock(boolean)>(v);
v = v.<org.apache.camel.component.directvm.DirectVmComponent: long timeout>;
virtualinvoke v.<org.apache.camel.component.directvm.DirectVmEndpoint: void setTimeout(long)>(v);
v = v.<org.apache.camel.component.directvm.DirectVmComponent: boolean propagateProperties>;
virtualinvoke v.<org.apache.camel.component.directvm.DirectVmEndpoint: void setPropagateProperties(boolean)>(v);
virtualinvoke v.<org.apache.camel.component.directvm.DirectVmEndpoint: void configureProperties(java.util.Map)>(v);
virtualinvoke v.<org.apache.camel.component.directvm.DirectVmComponent: void setProperties(java.lang.Object,java.util.Map)>(v, v);
return v;
}
public org.apache.camel.component.directvm.DirectVmConsumer getConsumer(org.apache.camel.component.directvm.DirectVmEndpoint)
{
org.apache.camel.component.directvm.DirectVmEndpoint v;
java.lang.Object v;
java.lang.String v, v;
org.apache.camel.component.directvm.DirectVmComponent v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v := @parameter: org.apache.camel.component.directvm.DirectVmEndpoint;
v = virtualinvoke v.<org.apache.camel.component.directvm.DirectVmEndpoint: java.lang.String getEndpointUri()>();
v = staticinvoke <org.apache.camel.component.directvm.DirectVmComponent: java.lang.String getConsumerKey(java.lang.String)>(v);
v = <org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.ConcurrentMap CONSUMERS>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public void addConsumer(org.apache.camel.component.directvm.DirectVmEndpoint, org.apache.camel.component.directvm.DirectVmConsumer)
{
java.lang.IllegalStateException v;
org.apache.camel.CamelContext v;
org.apache.camel.component.directvm.DirectVmComponent v;
java.util.concurrent.ConcurrentMap v;
org.apache.camel.component.directvm.DirectVmEndpoint v, v;
org.apache.camel.component.directvm.DirectVmConsumer v;
java.lang.Object v;
java.lang.String v, v, v, v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v := @parameter: org.apache.camel.component.directvm.DirectVmEndpoint;
v := @parameter: org.apache.camel.component.directvm.DirectVmConsumer;
v = virtualinvoke v.<org.apache.camel.component.directvm.DirectVmEndpoint: java.lang.String getEndpointUri()>();
v = staticinvoke <org.apache.camel.component.directvm.DirectVmComponent: java.lang.String getConsumerKey(java.lang.String)>(v);
v = <org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.ConcurrentMap CONSUMERS>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.component.directvm.DirectVmConsumer: org.apache.camel.component.directvm.DirectVmEndpoint getEndpoint()>();
v = virtualinvoke v.<org.apache.camel.component.directvm.DirectVmEndpoint: org.apache.camel.CamelContext getCamelContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: java.lang.String getName()>();
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.camel.component.directvm.DirectVmConsumer,java.lang.String)>(v, 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[])>("A consumer \u already exists from CamelContext: \u. Multiple consumers not supported");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public void removeConsumer(org.apache.camel.component.directvm.DirectVmEndpoint, org.apache.camel.component.directvm.DirectVmConsumer)
{
org.apache.camel.component.directvm.DirectVmEndpoint v;
org.apache.camel.component.directvm.DirectVmConsumer v;
java.lang.String v, v;
org.apache.camel.component.directvm.DirectVmComponent v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v := @parameter: org.apache.camel.component.directvm.DirectVmEndpoint;
v := @parameter: org.apache.camel.component.directvm.DirectVmConsumer;
v = virtualinvoke v.<org.apache.camel.component.directvm.DirectVmEndpoint: java.lang.String getEndpointUri()>();
v = staticinvoke <org.apache.camel.component.directvm.DirectVmComponent: java.lang.String getConsumerKey(java.lang.String)>(v);
v = <org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.ConcurrentMap CONSUMERS>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
return;
}
private static java.lang.String getConsumerKey(java.lang.String)
{
int v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("?");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(63);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
return v;
}
protected void doStart() throws java.lang.Exception
{
java.util.concurrent.atomic.AtomicInteger v;
org.apache.camel.component.directvm.DirectVmComponent v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
specialinvoke v.<org.apache.camel.impl.UriEndpointComponent: void doStart()>();
v = <org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.atomic.AtomicInteger START_COUNTER>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
return;
}
protected void doStop() throws java.lang.Exception
{
java.util.concurrent.atomic.AtomicInteger v;
int v;
org.apache.camel.component.directvm.DirectVmComponent v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v = <org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.atomic.AtomicInteger START_COUNTER>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int decrementAndGet()>();
if v > 0 goto label;
v = <org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.ConcurrentMap CONSUMERS>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: void clear()>();
label:
specialinvoke v.<org.apache.camel.impl.UriEndpointComponent: void doStop()>();
return;
}
public boolean isBlock()
{
org.apache.camel.component.directvm.DirectVmComponent v;
boolean v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v = v.<org.apache.camel.component.directvm.DirectVmComponent: boolean block>;
return v;
}
public void setBlock(boolean)
{
org.apache.camel.component.directvm.DirectVmComponent v;
boolean v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v := @parameter: boolean;
v.<org.apache.camel.component.directvm.DirectVmComponent: boolean block> = v;
return;
}
public long getTimeout()
{
long v;
org.apache.camel.component.directvm.DirectVmComponent v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v = v.<org.apache.camel.component.directvm.DirectVmComponent: long timeout>;
return v;
}
public void setTimeout(long)
{
long v;
org.apache.camel.component.directvm.DirectVmComponent v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v := @parameter: long;
v.<org.apache.camel.component.directvm.DirectVmComponent: long timeout> = v;
return;
}
public org.apache.camel.spi.HeaderFilterStrategy getHeaderFilterStrategy()
{
org.apache.camel.spi.HeaderFilterStrategy v;
org.apache.camel.component.directvm.DirectVmComponent v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v = v.<org.apache.camel.component.directvm.DirectVmComponent: org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy>;
return v;
}
public void setHeaderFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy)
{
org.apache.camel.spi.HeaderFilterStrategy v;
org.apache.camel.component.directvm.DirectVmComponent v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v := @parameter: org.apache.camel.spi.HeaderFilterStrategy;
v.<org.apache.camel.component.directvm.DirectVmComponent: org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy> = v;
return;
}
public boolean isPropagateProperties()
{
org.apache.camel.component.directvm.DirectVmComponent v;
boolean v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v = v.<org.apache.camel.component.directvm.DirectVmComponent: boolean propagateProperties>;
return v;
}
public void setPropagateProperties(boolean)
{
org.apache.camel.component.directvm.DirectVmComponent v;
boolean v;
v := @this: org.apache.camel.component.directvm.DirectVmComponent;
v := @parameter: boolean;
v.<org.apache.camel.component.directvm.DirectVmComponent: boolean propagateProperties> = v;
return;
}
static void <clinit>()
{
java.util.concurrent.ConcurrentHashMap v;
java.util.concurrent.atomic.AtomicInteger v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
<org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.atomic.AtomicInteger START_COUNTER> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
<org.apache.camel.component.directvm.DirectVmComponent: java.util.concurrent.ConcurrentMap CONSUMERS> = v;
return;
}
}