public class org.eclipse.aether.named.providers.FileLockNamedLockFactory extends org.eclipse.aether.named.support.NamedLockFactorySupport
{
public static final java.lang.String NAME;
private static final boolean DELETE_LOCK_FILES;
private static final int ATTEMPTS;
private static final long SLEEP_MILLIS;
private final java.util.concurrent.ConcurrentMap fileChannels;
public void <init>()
{
java.util.concurrent.ConcurrentHashMap v;
org.eclipse.aether.named.providers.FileLockNamedLockFactory v;
v := @this: org.eclipse.aether.named.providers.FileLockNamedLockFactory;
specialinvoke v.<org.eclipse.aether.named.support.NamedLockFactorySupport: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.eclipse.aether.named.providers.FileLockNamedLockFactory: java.util.concurrent.ConcurrentMap fileChannels> = v;
return;
}
protected org.eclipse.aether.named.support.NamedLockSupport createLock(java.lang.String)
{
org.eclipse.aether.named.support.FileLockNamedLock v;
java.lang.String[] v;
org.eclipse.aether.named.providers.FileLockNamedLockFactory v;
java.util.function.Function v;
java.util.concurrent.ConcurrentMap v;
java.lang.Object v;
java.lang.String v;
java.nio.file.Path v;
v := @this: org.eclipse.aether.named.providers.FileLockNamedLockFactory;
v := @parameter: java.lang.String;
v = newarray (java.lang.String)[0];
v = staticinvoke <java.nio.file.Paths: java.nio.file.Path get(java.lang.String,java.lang.String[])>(v, v);
v = v.<org.eclipse.aether.named.providers.FileLockNamedLockFactory: java.util.concurrent.ConcurrentMap fileChannels>;
v = staticinvoke <org.eclipse.aether.named.providers.FileLockNamedLockFactory$lambda_createLock_1__31: java.util.function.Function bootstrap$(java.nio.file.Path,java.lang.String)>(v, v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function)>(v, v);
v = new org.eclipse.aether.named.support.FileLockNamedLock;
specialinvoke v.<org.eclipse.aether.named.support.FileLockNamedLock: void <init>(java.lang.String,java.nio.channels.FileChannel,org.eclipse.aether.named.support.NamedLockFactorySupport)>(v, v, v);
return v;
}
protected void destroyLock(java.lang.String)
{
java.lang.IllegalStateException v;
java.lang.Object v;
java.lang.String v, v;
org.eclipse.aether.named.providers.FileLockNamedLockFactory v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.eclipse.aether.named.providers.FileLockNamedLockFactory;
v := @parameter: java.lang.String;
v = v.<org.eclipse.aether.named.providers.FileLockNamedLockFactory: java.util.concurrent.ConcurrentMap fileChannels>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("File channel expected, but does not exist: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
static void <clinit>()
{
long v;
int v;
java.lang.Boolean v;
java.lang.String v, v, v, v;
boolean v;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v = virtualinvoke v.<java.lang.Boolean: java.lang.String toString()>();
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("aether.named.file-lock.deleteLockFiles", v);
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
<org.eclipse.aether.named.providers.FileLockNamedLockFactory: boolean DELETE_LOCK_FILES> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("aether.named.file-lock.attempts", "5");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
<org.eclipse.aether.named.providers.FileLockNamedLockFactory: int ATTEMPTS> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("aether.named.file-lock.sleepMillis", "50");
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
<org.eclipse.aether.named.providers.FileLockNamedLockFactory: long SLEEP_MILLIS> = v;
return;
}
}