public class oadd.org.apache.curator.framework.recipes.cache.TreeCache extends java.lang.Object implements java.io.Closeable
{
private static final org.slf4j.Logger LOG;
private final boolean createParentNodes;
private final boolean disableZkWatches;
private final oadd.org.apache.curator.framework.recipes.cache.TreeCacheSelector selector;
private static final oadd.org.apache.curator.framework.recipes.cache.ChildData DEAD;
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater childDataUpdater;
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater childrenUpdater;
private final java.util.concurrent.atomic.AtomicLong outstandingOps;
private final java.util.concurrent.atomic.AtomicBoolean isInitialized;
private final oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root;
private final oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client;
private final java.util.concurrent.ExecutorService executorService;
private final boolean cacheData;
private final boolean dataIsCompressed;
private final int maxDepth;
private final oadd.org.apache.curator.framework.listen.StandardListenerManager listeners;
private final oadd.org.apache.curator.framework.listen.StandardListenerManager errorListeners;
private final java.util.concurrent.atomic.AtomicReference treeState;
private final oadd.org.apache.curator.framework.state.ConnectionStateListener connectionStateListener;
static final java.util.concurrent.ThreadFactory defaultThreadFactory;
public static oadd.org.apache.curator.framework.recipes.cache.TreeCache$Builder newBuilder(oadd.org.apache.curator.framework.CuratorFramework, java.lang.String)
{
java.lang.String v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$Builder v;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: java.lang.String;
v = new oadd.org.apache.curator.framework.recipes.cache.TreeCache$Builder;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$Builder: void <init>(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String)>(v, v);
return v;
}
static boolean isLive(oadd.org.apache.curator.framework.recipes.cache.ChildData)
{
oadd.org.apache.curator.framework.recipes.cache.ChildData v, v;
boolean v;
v := @parameter: oadd.org.apache.curator.framework.recipes.cache.ChildData;
if v == null goto label;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.ChildData DEAD>;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void <init>(oadd.org.apache.curator.framework.CuratorFramework, java.lang.String)
{
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
oadd.org.apache.curator.framework.recipes.cache.DefaultTreeCacheSelector v;
java.lang.String v;
oadd.org.apache.curator.framework.CuratorFramework v;
java.util.concurrent.ThreadFactory v;
java.util.concurrent.ExecutorService v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: java.lang.String;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.ThreadFactory defaultThreadFactory>;
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ExecutorService newSingleThreadExecutor(java.util.concurrent.ThreadFactory)>(v);
v = new oadd.org.apache.curator.framework.recipes.cache.DefaultTreeCacheSelector;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.DefaultTreeCacheSelector: void <init>()>();
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: void <init>(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String,boolean,boolean,int,java.util.concurrent.ExecutorService,boolean,boolean,oadd.org.apache.curator.framework.recipes.cache.TreeCacheSelector)>(v, v, 1, 0, 2147483647, v, 0, 0, v);
return;
}
void <init>(oadd.org.apache.curator.framework.CuratorFramework, java.lang.String, boolean, boolean, int, java.util.concurrent.ExecutorService, boolean, boolean, oadd.org.apache.curator.framework.recipes.cache.TreeCacheSelector)
{
oadd.org.apache.curator.framework.recipes.cache.TreeCacheSelector v;
java.util.concurrent.atomic.AtomicBoolean v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v;
oadd.org.apache.curator.framework.listen.StandardListenerManager v, v;
java.util.concurrent.atomic.AtomicReference v;
int v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$1 v;
java.lang.String v, v;
java.util.concurrent.ExecutorService v;
boolean v, v, v, v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState v;
java.util.concurrent.atomic.AtomicLong v;
java.lang.Object v, v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: java.util.concurrent.ExecutorService;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: oadd.org.apache.curator.framework.recipes.cache.TreeCacheSelector;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(0L);
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.atomic.AtomicLong outstandingOps> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.atomic.AtomicBoolean isInitialized> = v;
v = staticinvoke <oadd.org.apache.curator.framework.listen.StandardListenerManager: oadd.org.apache.curator.framework.listen.StandardListenerManager standard()>();
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.listen.StandardListenerManager listeners> = v;
v = staticinvoke <oadd.org.apache.curator.framework.listen.StandardListenerManager: oadd.org.apache.curator.framework.listen.StandardListenerManager standard()>();
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.listen.StandardListenerManager errorListeners> = v;
v = new java.util.concurrent.atomic.AtomicReference;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState LATENT>;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.atomic.AtomicReference treeState> = v;
v = new oadd.org.apache.curator.framework.recipes.cache.TreeCache$1;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$1: void <init>(oadd.org.apache.curator.framework.recipes.cache.TreeCache)>(v);
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.state.ConnectionStateListener connectionStateListener> = v;
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean createParentNodes> = v;
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "selector cannot be null");
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCacheSelector selector> = v;
v = new oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode;
v = staticinvoke <oadd.org.apache.curator.utils.PathUtils: java.lang.String validatePath(java.lang.String)>(v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: void <init>(oadd.org.apache.curator.framework.recipes.cache.TreeCache,java.lang.String,oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode)>(v, v, null);
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root> = v;
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "client cannot be null");
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework newWatcherRemoveCuratorFramework()>();
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client> = v;
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean cacheData> = v;
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean dataIsCompressed> = v;
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: int maxDepth> = v;
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean disableZkWatches> = v;
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "executorService cannot be null");
v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.ExecutorService executorService> = v;
return;
}
public oadd.org.apache.curator.framework.recipes.cache.TreeCache start() throws java.lang.Exception
{
oadd.org.apache.curator.framework.state.ConnectionStateListener v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v, v;
oadd.org.apache.curator.CuratorZookeeperClient v;
java.util.concurrent.atomic.AtomicReference v;
java.lang.String v;
boolean v, v, v;
oadd.org.apache.curator.framework.listen.Listenable v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v, v, v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState v, v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.atomic.AtomicReference treeState>;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState LATENT>;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState STARTED>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(v, v);
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "already started");
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean createParentNodes>;
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root>;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: java.lang.String path>;
interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: void createContainers(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.listen.Listenable getConnectionStateListenable()>();
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.state.ConnectionStateListener connectionStateListener>;
interfaceinvoke v.<oadd.org.apache.curator.framework.listen.Listenable: void addListener(java.lang.Object)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.CuratorZookeeperClient getZookeeperClient()>();
v = virtualinvoke v.<oadd.org.apache.curator.CuratorZookeeperClient: boolean isConnected()>();
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: void wasCreated()>();
label:
return v;
}
public void close()
{
oadd.org.apache.curator.framework.listen.Listenable v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
oadd.org.apache.curator.framework.state.ConnectionStateListener v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v;
oadd.org.apache.curator.framework.listen.StandardListenerManager v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v, v;
java.util.concurrent.atomic.AtomicReference v;
java.lang.Exception v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState v, v;
java.util.concurrent.ExecutorService v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.atomic.AtomicReference treeState>;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState STARTED>;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState CLOSED>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: void removeWatchers()>();
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.listen.Listenable getConnectionStateListenable()>();
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.state.ConnectionStateListener connectionStateListener>;
interfaceinvoke v.<oadd.org.apache.curator.framework.listen.Listenable: void removeListener(java.lang.Object)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.listen.StandardListenerManager listeners>;
virtualinvoke v.<oadd.org.apache.curator.framework.listen.StandardListenerManager: void clear()>();
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.ExecutorService executorService>;
interfaceinvoke v.<java.util.concurrent.ExecutorService: void shutdown()>();
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: void wasDeleted()>();
label:
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.org.apache.curator.utils.ThreadUtils: boolean checkInterrupted(java.lang.Throwable)>(v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: void handleException(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public oadd.org.apache.curator.framework.listen.Listenable getListenable()
{
oadd.org.apache.curator.framework.listen.StandardListenerManager v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.listen.StandardListenerManager listeners>;
return v;
}
public oadd.org.apache.curator.framework.listen.Listenable getUnhandledErrorListenable()
{
oadd.org.apache.curator.framework.listen.StandardListenerManager v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.listen.StandardListenerManager errorListeners>;
return v;
}
private oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode find(java.lang.String)
{
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v, v;
java.util.concurrent.ConcurrentMap v;
java.lang.String v, v;
java.util.LinkedList v, v;
boolean v, v, v, v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
java.util.List v, v;
java.lang.Object v, v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: java.lang.String;
staticinvoke <oadd.org.apache.curator.utils.PathUtils: java.lang.String validatePath(java.lang.String)>(v);
v = new java.util.LinkedList;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root>;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: java.lang.String path>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.util.List split(java.lang.String)>(v);
specialinvoke v.<java.util.LinkedList: void <init>(java.util.Collection)>(v);
v = new java.util.LinkedList;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.util.List split(java.lang.String)>(v);
specialinvoke v.<java.util.LinkedList: void <init>(java.util.Collection)>(v);
label:
v = virtualinvoke v.<java.util.LinkedList: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<java.util.LinkedList: boolean isEmpty()>();
if v == 0 goto label;
return null;
label:
v = virtualinvoke v.<java.util.LinkedList: java.lang.Object removeFirst()>();
v = virtualinvoke v.<java.util.LinkedList: java.lang.Object removeFirst()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return null;
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root>;
label:
v = virtualinvoke v.<java.util.LinkedList: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<java.util.LinkedList: java.lang.Object removeFirst()>();
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: java.util.concurrent.ConcurrentMap children>;
if v != null goto label;
return null;
label:
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
return null;
label:
return v;
}
public java.util.Map getCurrentChildren(java.lang.String)
{
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v;
oadd.org.apache.curator.framework.recipes.cache.ChildData v, v, v;
java.util.concurrent.ConcurrentMap v;
oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap$Builder v;
java.lang.String v;
boolean v, v, v, v;
java.util.Iterator v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
java.util.Set v;
oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap v, v;
java.lang.Object v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: java.lang.String;
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode find(java.lang.String)>(v);
if v == null goto label;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: oadd.org.apache.curator.framework.recipes.cache.ChildData childData>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean isLive(oadd.org.apache.curator.framework.recipes.cache.ChildData)>(v);
if v != 0 goto label;
label:
return null;
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: java.util.concurrent.ConcurrentMap children>;
if v != null goto label;
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap of()>();
goto label;
label:
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap$Builder builder()>();
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: oadd.org.apache.curator.framework.recipes.cache.ChildData childData>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean isLive(oadd.org.apache.curator.framework.recipes.cache.ChildData)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
virtualinvoke v.<oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap$Builder: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap$Builder: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableMap build()>();
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: oadd.org.apache.curator.framework.recipes.cache.ChildData childData>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean isLive(oadd.org.apache.curator.framework.recipes.cache.ChildData)>(v);
if v == 0 goto label;
v = v;
goto label;
label:
v = null;
label:
return v;
}
public oadd.org.apache.curator.framework.recipes.cache.ChildData getCurrentData(java.lang.String)
{
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v;
java.lang.String v;
oadd.org.apache.curator.framework.recipes.cache.ChildData v, v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: java.lang.String;
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode find(java.lang.String)>(v);
if v != null goto label;
return null;
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: oadd.org.apache.curator.framework.recipes.cache.ChildData childData>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean isLive(oadd.org.apache.curator.framework.recipes.cache.ChildData)>(v);
if v == 0 goto label;
v = v;
goto label;
label:
v = null;
label:
return v;
}
public java.util.Iterator iterator()
{
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v;
oadd.org.apache.curator.framework.recipes.cache.TreeCacheIterator v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v = new oadd.org.apache.curator.framework.recipes.cache.TreeCacheIterator;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root>;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCacheIterator: void <init>(oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode)>(v);
return v;
}
public int size()
{
int v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root>;
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: int size(oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode)>(v);
return v;
}
private int size(oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode)
{
java.util.Iterator v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
java.util.Collection v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v;
oadd.org.apache.curator.framework.recipes.cache.ChildData v;
java.util.concurrent.ConcurrentMap v, v;
int v, v;
java.lang.Object v;
boolean v, v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: oadd.org.apache.curator.framework.recipes.cache.ChildData childData>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.cache.TreeCache: boolean isLive(oadd.org.apache.curator.framework.recipes.cache.ChildData)>(v);
if v == 0 goto label;
v = 1;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: java.util.concurrent.ConcurrentMap children>;
if v == null goto label;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: java.util.concurrent.ConcurrentMap children>;
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 = specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: int size(oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode)>(v);
v = v + v;
goto label;
label:
v = 0;
label:
return v;
}
private void callListeners(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent)
{
java.util.function.Consumer v;
oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
oadd.org.apache.curator.framework.listen.StandardListenerManager v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.listen.StandardListenerManager listeners>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.cache.TreeCache$lambda_callListeners_0__1032: java.util.function.Consumer bootstrap$(oadd.org.apache.curator.framework.recipes.cache.TreeCache,oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent)>(v, v);
virtualinvoke v.<oadd.org.apache.curator.framework.listen.StandardListenerManager: void forEach(java.util.function.Consumer)>(v);
return;
}
private void handleException(java.lang.Throwable)
{
java.lang.Throwable v;
java.util.function.Consumer v;
org.slf4j.Logger v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
int v;
oadd.org.apache.curator.framework.listen.StandardListenerManager v, v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: java.lang.Throwable;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.listen.StandardListenerManager errorListeners>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.listen.StandardListenerManager: int size()>();
if v != 0 goto label;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("", v);
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.listen.StandardListenerManager errorListeners>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.cache.TreeCache$lambda_handleException_1__1033: java.util.function.Consumer bootstrap$(java.lang.Throwable)>(v);
virtualinvoke v.<oadd.org.apache.curator.framework.listen.StandardListenerManager: void forEach(java.util.function.Consumer)>(v);
label:
return;
}
private void handleStateChange(oadd.org.apache.curator.framework.state.ConnectionState)
{
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
oadd.org.apache.curator.framework.state.ConnectionState v;
java.util.concurrent.atomic.AtomicBoolean v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode v, v;
java.lang.Exception v, v;
oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type v, v, v;
int[] v;
int v, v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: oadd.org.apache.curator.framework.state.ConnectionState;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache$3: int[] $SwitchMap$org$apache$curator$framework$state$ConnectionState>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.state.ConnectionState: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type: oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type CONNECTION_SUSPENDED>;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: void publishEvent(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type)>(v);
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.atomic.AtomicBoolean isInitialized>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type: oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type CONNECTION_LOST>;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: void publishEvent(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type)>(v);
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: void wasCreated()>();
label:
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.org.apache.curator.utils.ThreadUtils: boolean checkInterrupted(java.lang.Throwable)>(v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: void handleException(java.lang.Throwable)>(v);
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode root>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeNode: void wasReconnected()>();
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type: oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type CONNECTION_RECONNECTED>;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: void publishEvent(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type)>(v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.org.apache.curator.utils.ThreadUtils: boolean checkInterrupted(java.lang.Throwable)>(v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: void handleException(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void publishEvent(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type)
{
oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type;
v = new oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent: void <init>(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type,oadd.org.apache.curator.framework.recipes.cache.ChildData)>(v, null);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: void publishEvent(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent)>(v);
return;
}
private void publishEvent(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type, oadd.org.apache.curator.framework.recipes.cache.ChildData, oadd.org.apache.curator.framework.recipes.cache.ChildData)
{
oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
oadd.org.apache.curator.framework.recipes.cache.ChildData v, v;
oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type;
v := @parameter: oadd.org.apache.curator.framework.recipes.cache.ChildData;
v := @parameter: oadd.org.apache.curator.framework.recipes.cache.ChildData;
v = new oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent: void <init>(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent$Type,oadd.org.apache.curator.framework.recipes.cache.ChildData,oadd.org.apache.curator.framework.recipes.cache.ChildData)>(v, v, v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: void publishEvent(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent)>(v);
return;
}
private void publishEvent(oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent)
{
org.slf4j.Logger v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache v;
java.util.concurrent.atomic.AtomicReference v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState v;
oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent v;
oadd.org.apache.curator.framework.recipes.cache.TreeCache$2 v;
java.lang.Object v;
java.util.concurrent.ExecutorService v;
v := @this: oadd.org.apache.curator.framework.recipes.cache.TreeCache;
v := @parameter: oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent;
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.atomic.AtomicReference treeState>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState: oadd.org.apache.curator.framework.recipes.cache.TreeCache$TreeState CLOSED>;
if v == v goto label;
v = <oadd.org.apache.curator.framework.recipes.cache.TreeCache: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("publishEvent: {}", v);
v = v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.ExecutorService executorService>;
v = new oadd.org.apache.curator.framework.recipes.cache.TreeCache$2;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.TreeCache$2: void <init>(oadd.org.apache.curator.framework.recipes.cache.TreeCache,oadd.org.apache.curator.framework.recipes.cache.TreeCacheEvent)>(v, v);
interfaceinvoke v.<java.util.concurrent.ExecutorService: java.util.concurrent.Future submit(java.lang.Runnable)>(v);
label:
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicReferenceFieldUpdater v, v;
java.util.concurrent.ThreadFactory v;
oadd.org.apache.curator.framework.recipes.cache.ChildData v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Loadd/org/apache/curator/framework/recipes/cache/TreeCache;");
<oadd.org.apache.curator.framework.recipes.cache.TreeCache: org.slf4j.Logger LOG> = v;
v = new oadd.org.apache.curator.framework.recipes.cache.ChildData;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.cache.ChildData: void <init>(java.lang.String,oadd.org.apache.zookeeper.data.Stat,byte[])>("/", null, null);
<oadd.org.apache.curator.framework.recipes.cache.TreeCache: oadd.org.apache.curator.framework.recipes.cache.ChildData DEAD> = v;
v = staticinvoke <java.util.concurrent.atomic.AtomicReferenceFieldUpdater: java.util.concurrent.atomic.AtomicReferenceFieldUpdater newUpdater(java.lang.Class,java.lang.Class,java.lang.String)>(class "Loadd/org/apache/curator/framework/recipes/cache/TreeCache$TreeNode;", class "Loadd/org/apache/curator/framework/recipes/cache/ChildData;", "childData");
<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.atomic.AtomicReferenceFieldUpdater childDataUpdater> = v;
v = staticinvoke <java.util.concurrent.atomic.AtomicReferenceFieldUpdater: java.util.concurrent.atomic.AtomicReferenceFieldUpdater newUpdater(java.lang.Class,java.lang.Class,java.lang.String)>(class "Loadd/org/apache/curator/framework/recipes/cache/TreeCache$TreeNode;", class "Ljava/util/concurrent/ConcurrentMap;", "children");
<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.atomic.AtomicReferenceFieldUpdater childrenUpdater> = v;
v = staticinvoke <oadd.org.apache.curator.utils.ThreadUtils: java.util.concurrent.ThreadFactory newThreadFactory(java.lang.String)>("TreeCache");
<oadd.org.apache.curator.framework.recipes.cache.TreeCache: java.util.concurrent.ThreadFactory defaultThreadFactory> = v;
return;
}
}