public class org.glassfish.kernel.FileMonitoringImpl extends java.lang.Object implements org.glassfish.api.admin.FileMonitoring, org.glassfish.hk.api.PostConstruct
{
java.util.concurrent.ExecutorService executor;
java.util.concurrent.ScheduledExecutorService scheduledExecutor;
org.glassfish.api.event.Events events;
final java.util.Map listeners;
final java.util.Map monitored;
public void <init>()
{
java.util.HashMap v, v;
org.glassfish.kernel.FileMonitoringImpl v;
v := @this: org.glassfish.kernel.FileMonitoringImpl;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.glassfish.kernel.FileMonitoringImpl: java.util.Map listeners> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.glassfish.kernel.FileMonitoringImpl: java.util.Map monitored> = v;
return;
}
public void postConstruct()
{
java.util.concurrent.TimeUnit v;
java.util.concurrent.ScheduledFuture v;
org.glassfish.kernel.FileMonitoringImpl$1 v;
org.glassfish.kernel.FileMonitoringImpl$2 v;
org.glassfish.kernel.FileMonitoringImpl v;
org.glassfish.api.event.Events v;
java.util.concurrent.ScheduledExecutorService v;
v := @this: org.glassfish.kernel.FileMonitoringImpl;
v = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.concurrent.ScheduledExecutorService scheduledExecutor>;
v = new org.glassfish.kernel.FileMonitoringImpl$1;
specialinvoke v.<org.glassfish.kernel.FileMonitoringImpl$1: void <init>(org.glassfish.kernel.FileMonitoringImpl)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.concurrent.ScheduledFuture scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)>(v, 0L, 500L, v);
v = v.<org.glassfish.kernel.FileMonitoringImpl: org.glassfish.api.event.Events events>;
v = new org.glassfish.kernel.FileMonitoringImpl$2;
specialinvoke v.<org.glassfish.kernel.FileMonitoringImpl$2: void <init>(org.glassfish.kernel.FileMonitoringImpl,java.util.concurrent.ScheduledFuture)>(v, v);
interfaceinvoke v.<org.glassfish.api.event.Events: void register(org.glassfish.api.event.EventListener)>(v);
return;
}
public synchronized void monitors(java.io.File, org.glassfish.api.admin.FileMonitoring$FileChangeListener)
{
org.glassfish.kernel.FileMonitoringImpl v;
long v;
org.glassfish.api.admin.FileMonitoring$FileChangeListener v;
java.io.File v;
java.util.ArrayList v;
java.lang.Long v;
java.util.Map v, v, v, v;
java.lang.Object v;
boolean v;
v := @this: org.glassfish.kernel.FileMonitoringImpl;
v := @parameter: java.io.File;
v := @parameter: org.glassfish.api.admin.FileMonitoring$FileChangeListener;
v = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.Map monitored>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.Map listeners>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.Map listeners>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.Map monitored>;
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
public synchronized void fileModified(java.io.File)
{
java.lang.Long v;
org.glassfish.kernel.FileMonitoringImpl v;
java.util.Map v;
java.io.File v;
v := @this: org.glassfish.kernel.FileMonitoringImpl;
v := @parameter: java.io.File;
v = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.Map monitored>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
private void removed(java.io.File)
{
java.util.Iterator v;
org.glassfish.kernel.FileMonitoringImpl v;
org.glassfish.kernel.FileMonitoringImpl$3 v;
java.io.File v;
java.util.Map v;
java.lang.Object v, v;
java.util.concurrent.ExecutorService v;
boolean v;
v := @this: org.glassfish.kernel.FileMonitoringImpl;
v := @parameter: java.io.File;
v = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.Map listeners>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
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 = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.concurrent.ExecutorService executor>;
v = new org.glassfish.kernel.FileMonitoringImpl$3;
specialinvoke v.<org.glassfish.kernel.FileMonitoringImpl$3: void <init>(org.glassfish.kernel.FileMonitoringImpl,org.glassfish.api.admin.FileMonitoring$FileChangeListener,java.io.File)>(v, v, v);
interfaceinvoke v.<java.util.concurrent.ExecutorService: java.util.concurrent.Future submit(java.lang.Runnable)>(v);
goto label;
label:
return;
}
private void changed(java.io.File)
{
java.util.Iterator v;
org.glassfish.kernel.FileMonitoringImpl v;
org.glassfish.kernel.FileMonitoringImpl$4 v;
java.io.File v;
java.util.Map v;
java.lang.Object v, v;
java.util.concurrent.ExecutorService v;
boolean v;
v := @this: org.glassfish.kernel.FileMonitoringImpl;
v := @parameter: java.io.File;
v = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.Map listeners>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
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 = v.<org.glassfish.kernel.FileMonitoringImpl: java.util.concurrent.ExecutorService executor>;
v = new org.glassfish.kernel.FileMonitoringImpl$4;
specialinvoke v.<org.glassfish.kernel.FileMonitoringImpl$4: void <init>(org.glassfish.kernel.FileMonitoringImpl,org.glassfish.api.admin.FileMonitoring$FileChangeListener,java.io.File)>(v, v, v);
interfaceinvoke v.<java.util.concurrent.ExecutorService: java.util.concurrent.Future submit(java.lang.Runnable)>(v);
goto label;
label:
return;
}
}