public class org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle extends java.lang.Object implements org.eclipse.aether.impl.RepositorySystemLifecycle
{
private final java.util.concurrent.atomic.AtomicBoolean shutdown;
private final java.util.concurrent.CopyOnWriteArrayList onSystemEndedHandlers;
public void <init>()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle: java.util.concurrent.atomic.AtomicBoolean shutdown> = v;
v = new java.util.concurrent.CopyOnWriteArrayList;
specialinvoke v.<java.util.concurrent.CopyOnWriteArrayList: void <init>()>();
v.<org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle: java.util.concurrent.CopyOnWriteArrayList onSystemEndedHandlers> = v;
return;
}
public void systemEnded()
{
java.util.Iterator v;
org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.Exception v;
java.util.ArrayList v;
java.lang.Object v;
boolean v, v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle;
v = v.<org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle: java.util.concurrent.atomic.AtomicBoolean shutdown>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle: java.util.concurrent.CopyOnWriteArrayList onSystemEndedHandlers>;
v = virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: 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()>();
label:
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
goto label;
label:
staticinvoke <org.eclipse.aether.MultiRuntimeException: void mayThrow(java.lang.String,java.util.List)>("system on-close handler failures", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void addOnSystemEndedHandler(java.lang.Runnable)
{
org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle v;
java.lang.Runnable v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle;
v := @parameter: java.lang.Runnable;
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "handler cannot be null");
specialinvoke v.<org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle: void requireNotShutdown()>();
v = v.<org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle: java.util.concurrent.CopyOnWriteArrayList onSystemEndedHandlers>;
virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: void add(int,java.lang.Object)>(0, v);
return;
}
private void requireNotShutdown()
{
java.lang.IllegalStateException v;
org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
v := @this: org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle;
v = v.<org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle: java.util.concurrent.atomic.AtomicBoolean shutdown>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("repository system is already shut down");
throw v;
label:
return;
}
}