public abstract class org.apache.shiro.util.AbstractFactory extends java.lang.Object implements org.apache.shiro.util.Factory
{
private boolean singleton;
private java.lang.Object singletonInstance;
public void <init>()
{
org.apache.shiro.util.AbstractFactory v;
v := @this: org.apache.shiro.util.AbstractFactory;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.shiro.util.AbstractFactory: boolean singleton> = 1;
return;
}
public boolean isSingleton()
{
boolean v;
org.apache.shiro.util.AbstractFactory v;
v := @this: org.apache.shiro.util.AbstractFactory;
v = v.<org.apache.shiro.util.AbstractFactory: boolean singleton>;
return v;
}
public void setSingleton(boolean)
{
boolean v;
org.apache.shiro.util.AbstractFactory v;
v := @this: org.apache.shiro.util.AbstractFactory;
v := @parameter: boolean;
v.<org.apache.shiro.util.AbstractFactory: boolean singleton> = v;
return;
}
public java.lang.Object getInstance()
{
java.lang.IllegalStateException v;
java.lang.Object v, v, v;
boolean v;
org.apache.shiro.util.AbstractFactory v;
v := @this: org.apache.shiro.util.AbstractFactory;
v = virtualinvoke v.<org.apache.shiro.util.AbstractFactory: boolean isSingleton()>();
if v == 0 goto label;
v = v.<org.apache.shiro.util.AbstractFactory: java.lang.Object singletonInstance>;
if v != null goto label;
v = virtualinvoke v.<org.apache.shiro.util.AbstractFactory: java.lang.Object createInstance()>();
v.<org.apache.shiro.util.AbstractFactory: java.lang.Object singletonInstance> = v;
label:
v = v.<org.apache.shiro.util.AbstractFactory: java.lang.Object singletonInstance>;
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.util.AbstractFactory: java.lang.Object createInstance()>();
label:
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Factory \'createInstance\' implementation returned a null object.");
throw v;
label:
return v;
}
protected abstract java.lang.Object createInstance();
}