public class org.jvnet.hk.config.DomDocument extends java.lang.Object
{
private volatile org.jvnet.hk.config.Translator translator;
protected final java.util.Map models;
private final org.jvnet.hk.component.MultiMap implementorsOf;
final org.glassfish.hk.api.ServiceLocator habitat;
org.jvnet.hk.config.Dom root;
private org.jvnet.hk.config.DomDecorator decorator;
private final java.util.Map validators;
static final java.util.List PRIMS;
private final java.util.Map cache;
public void <init>(org.glassfish.hk.api.ServiceLocator)
{
org.jvnet.hk.config.DomDocument v;
java.util.Iterator v;
org.jvnet.hk.config.PrimitiveDataType v;
java.util.HashMap v, v, v;
java.lang.'annotation'.Annotation[] v;
java.util.List v;
java.util.Map v;
java.lang.Object v, v;
org.glassfish.hk.api.ServiceLocator v;
org.jvnet.hk.component.MultiMap v;
org.jvnet.hk.config.Translator v;
boolean v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: org.glassfish.hk.api.ServiceLocator;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.jvnet.hk.config.Translator: org.jvnet.hk.config.Translator NOOP>;
v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.Translator translator> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.jvnet.hk.config.DomDocument: java.util.Map models> = v;
v = new org.jvnet.hk.component.MultiMap;
specialinvoke v.<org.jvnet.hk.component.MultiMap: void <init>()>();
v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.component.MultiMap implementorsOf> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.jvnet.hk.config.DomDocument: java.util.Map validators> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.jvnet.hk.config.DomDocument: java.util.Map cache> = v;
v.<org.jvnet.hk.config.DomDocument: org.glassfish.hk.api.ServiceLocator habitat> = v;
v = <org.jvnet.hk.config.DomDocument: java.util.List PRIMS>;
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.jvnet.hk.config.DomDocument: java.util.Map validators>;
v = new org.jvnet.hk.config.PrimitiveDataType;
specialinvoke v.<org.jvnet.hk.config.PrimitiveDataType: void <init>(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.lang.Object getService(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lorg/jvnet/hk2/config/DomDecorator;", v);
v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.DomDecorator decorator> = v;
return;
}
public org.jvnet.hk.config.Dom getRoot()
{
org.jvnet.hk.config.DomDocument v;
org.jvnet.hk.config.Dom v;
v := @this: org.jvnet.hk.config.DomDocument;
v = v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.Dom root>;
return v;
}
public org.jvnet.hk.config.Translator getTranslator()
{
org.jvnet.hk.config.DomDocument v;
org.jvnet.hk.config.Translator v;
v := @this: org.jvnet.hk.config.DomDocument;
v = v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.Translator translator>;
return v;
}
public void setTranslator(org.jvnet.hk.config.Translator)
{
org.jvnet.hk.config.DomDocument v;
org.jvnet.hk.config.Translator v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: org.jvnet.hk.config.Translator;
v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.Translator translator> = v;
return;
}
org.jvnet.hk.config.ConfigModel buildModel(org.glassfish.hk.api.ActiveDescriptor)
{
org.jvnet.hk.config.DomDocument v;
org.glassfish.hk.api.ActiveDescriptor v;
java.util.Map v, v;
org.jvnet.hk.config.ConfigModel v;
java.lang.Object v;
org.glassfish.hk.api.ServiceLocator v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: org.glassfish.hk.api.ActiveDescriptor;
v = v.<org.jvnet.hk.config.DomDocument: java.util.Map models>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new org.jvnet.hk.config.ConfigModel;
v = interfaceinvoke v.<org.glassfish.hk.api.ActiveDescriptor: java.util.Map getMetadata()>();
v = v.<org.jvnet.hk.config.DomDocument: org.glassfish.hk.api.ServiceLocator habitat>;
specialinvoke v.<org.jvnet.hk.config.ConfigModel: void <init>(org.jvnet.hk.config.DomDocument,org.glassfish.hk.api.ActiveDescriptor,java.util.Map,org.glassfish.hk.api.ServiceLocator)>(v, v, v, v);
v = v;
label:
return v;
}
public org.jvnet.hk.config.ConfigModel buildModel(java.lang.Class)
{
org.jvnet.hk.config.DomDocument v;
org.jvnet.hk.config.ConfigModel v;
java.lang.Class v;
java.lang.String v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.ConfigModel buildModel(java.lang.String)>(v);
return v;
}
public org.jvnet.hk.config.ConfigModel buildModel(java.lang.String)
{
java.lang.Throwable v;
org.jvnet.hk.config.ConfigurationException v;
org.jvnet.hk.config.DomDocument v;
java.lang.Object[] v;
java.util.Map v, v, v;
org.jvnet.hk.config.DomDocument$InjectionTargetFilter v;
org.jvnet.hk.config.ConfigModel v;
java.lang.Object v;
java.lang.String v;
org.glassfish.hk.api.ServiceLocator v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: java.lang.String;
v = v.<org.jvnet.hk.config.DomDocument: java.util.Map cache>;
entermonitor v;
label:
v = v.<org.jvnet.hk.config.DomDocument: java.util.Map cache>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.jvnet.hk.config.DomDocument: org.glassfish.hk.api.ServiceLocator habitat>;
v = new org.jvnet.hk.config.DomDocument$InjectionTargetFilter;
specialinvoke v.<org.jvnet.hk.config.DomDocument$InjectionTargetFilter: void <init>(org.jvnet.hk.config.DomDocument,java.lang.String)>(v, v);
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: org.glassfish.hk.api.ActiveDescriptor getBestDescriptor(org.glassfish.hk.api.Filter)>(v);
if v != null goto label;
v = new org.jvnet.hk.config.ConfigurationException;
v = newarray (java.lang.Object)[1];
v[0] = v;
specialinvoke v.<org.jvnet.hk.config.ConfigurationException: void <init>(java.lang.String,java.lang.Object[])>("ConfigInjector for %s is not found, is it annotated with @Configured", v);
throw v;
label:
v = v.<org.jvnet.hk.config.DomDocument: java.util.Map cache>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = virtualinvoke v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.ConfigModel buildModel(org.glassfish.hk.api.ActiveDescriptor)>(v);
return v;
catch java.lang.Throwable from label to label with label;
}
public org.jvnet.hk.config.ConfigModel getModelByElementName(java.lang.String)
{
org.jvnet.hk.config.DomDocument v;
org.glassfish.hk.api.ActiveDescriptor v;
org.jvnet.hk.config.ConfigModel v;
java.lang.Class v;
java.lang.String v, v;
org.glassfish.hk.api.ServiceLocator v;
org.glassfish.hk.api.IndexedFilter v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: java.lang.String;
v = v.<org.jvnet.hk.config.DomDocument: org.glassfish.hk.api.ServiceLocator habitat>;
v = class "Lorg/jvnet/hk2/config/ConfigInjector;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <org.glassfish.hk.utilities.BuilderHelper: org.glassfish.hk.api.IndexedFilter createNameAndContractFilter(java.lang.String,java.lang.String)>(v, v);
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: org.glassfish.hk.api.ActiveDescriptor getBestDescriptor(org.glassfish.hk.api.Filter)>(v);
if v != null goto label;
return null;
label:
v = virtualinvoke v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.ConfigModel buildModel(org.glassfish.hk.api.ActiveDescriptor)>(v);
return v;
}
public synchronized java.util.List getAllModelsImplementing(java.lang.Class) throws java.lang.ClassNotFoundException
{
org.jvnet.hk.config.DomDocument v;
int v;
java.lang.Class v;
java.lang.Object v;
org.jvnet.hk.component.MultiMap v, v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: java.lang.Class;
v = v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.component.MultiMap implementorsOf>;
v = virtualinvoke v.<org.jvnet.hk.component.MultiMap: int size()>();
if v != 0 goto label;
specialinvoke v.<org.jvnet.hk.config.DomDocument: void initXRef()>();
label:
v = v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.component.MultiMap implementorsOf>;
v = virtualinvoke v.<org.jvnet.hk.component.MultiMap: java.lang.Object getOne(java.lang.Object)>(v);
return v;
}
private void initXRef() throws java.lang.ClassNotFoundException
{
java.lang.'annotation'.Annotation[] v;
org.glassfish.hk.api.ActiveDescriptor v;
org.glassfish.hk.api.HK2Loader v;
java.util.Map v;
int v, v;
java.lang.String v;
boolean v, v, v;
org.jvnet.hk.config.DomDocument v;
java.util.Iterator v, v;
java.util.Collection v;
java.lang.Class[] v;
java.util.List v;
java.lang.Class v, v;
java.lang.Object v, v;
org.glassfish.hk.api.ServiceLocator v;
v := @this: org.jvnet.hk.config.DomDocument;
v = v.<org.jvnet.hk.config.DomDocument: org.glassfish.hk.api.ServiceLocator habitat>;
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.util.List getAllServiceHandles(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lorg/jvnet/hk2/config/ConfigInjector;", 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 = interfaceinvoke v.<org.glassfish.hk.api.ServiceHandle: org.glassfish.hk.api.ActiveDescriptor getActiveDescriptor()>();
virtualinvoke v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.ConfigModel buildModel(org.glassfish.hk.api.ActiveDescriptor)>(v);
goto label;
label:
v = v.<org.jvnet.hk.config.DomDocument: java.util.Map models>;
v = interfaceinvoke v.<java.util.Map: 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 = v.<org.jvnet.hk.config.ConfigModel: org.glassfish.hk.api.HK2Loader classLoaderHolder>;
v = v.<org.jvnet.hk.config.ConfigModel: java.lang.String targetTypeName>;
v = interfaceinvoke v.<org.glassfish.hk.api.HK2Loader: java.lang.Class loadClass(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getInterfaces()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.Class: boolean isAnnotationPresent(java.lang.Class)>(class "Lorg/jvnet/hk2/config/Configured;");
if v == 0 goto label;
specialinvoke v.<org.jvnet.hk.config.DomDocument: void addXRef(java.lang.Class,org.jvnet.hk.config.ConfigModel)>(v, v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
if v != null goto label;
goto label;
label:
return;
}
private void addXRef(java.lang.Class, org.jvnet.hk.config.ConfigModel)
{
org.jvnet.hk.config.DomDocument v;
org.jvnet.hk.config.ConfigModel v;
java.lang.Class v;
java.lang.Object v;
org.jvnet.hk.component.MultiMap v, v;
java.util.ArrayList v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: java.lang.Class;
v := @parameter: org.jvnet.hk.config.ConfigModel;
v = v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.component.MultiMap implementorsOf>;
v = virtualinvoke v.<org.jvnet.hk.component.MultiMap: java.lang.Object getOne(java.lang.Object)>(v);
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v;
v = v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.component.MultiMap implementorsOf>;
virtualinvoke v.<org.jvnet.hk.component.MultiMap: void add(java.lang.Object,java.lang.Object)>(v, v);
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
public org.jvnet.hk.config.ConfigModel getModel(java.lang.Class)
{
org.jvnet.hk.config.ConfigModel v;
org.jvnet.hk.config.DomDocument v;
java.lang.Class v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.ConfigModel buildModel(java.lang.Class)>(v);
return v;
}
public org.jvnet.hk.config.Dom make(org.glassfish.hk.api.ServiceLocator, javax.xml.stream.XMLStreamReader, org.jvnet.hk.config.Dom, org.jvnet.hk.config.ConfigModel)
{
org.jvnet.hk.config.DomDocument v;
org.jvnet.hk.config.Dom v, v;
org.jvnet.hk.config.DomDecorator v, v;
javax.xml.stream.XMLStreamReader v;
org.jvnet.hk.config.ConfigModel v;
org.glassfish.hk.api.ServiceLocator v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: org.glassfish.hk.api.ServiceLocator;
v := @parameter: javax.xml.stream.XMLStreamReader;
v := @parameter: org.jvnet.hk.config.Dom;
v := @parameter: org.jvnet.hk.config.ConfigModel;
v = v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.DomDecorator decorator>;
if v == null goto label;
v = v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.DomDecorator decorator>;
v = interfaceinvoke v.<org.jvnet.hk.config.DomDecorator: org.jvnet.hk.config.Dom decorate(org.glassfish.hk.api.ServiceLocator,org.jvnet.hk.config.DomDocument,org.jvnet.hk.config.Dom,org.jvnet.hk.config.ConfigModel,javax.xml.stream.XMLStreamReader)>(v, v, v, v, v);
goto label;
label:
v = new org.jvnet.hk.config.Dom;
specialinvoke v.<org.jvnet.hk.config.Dom: void <init>(org.glassfish.hk.api.ServiceLocator,org.jvnet.hk.config.DomDocument,org.jvnet.hk.config.Dom,org.jvnet.hk.config.ConfigModel,javax.xml.stream.XMLStreamReader)>(v, v, v, v, v);
label:
return v;
}
public void writeTo(javax.xml.stream.XMLStreamWriter) throws javax.xml.stream.XMLStreamException
{
org.jvnet.hk.config.DomDocument v;
javax.xml.stream.XMLStreamWriter v;
org.jvnet.hk.config.Dom v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: javax.xml.stream.XMLStreamWriter;
v = v.<org.jvnet.hk.config.DomDocument: org.jvnet.hk.config.Dom root>;
virtualinvoke v.<org.jvnet.hk.config.Dom: void writeTo(java.lang.String,javax.xml.stream.XMLStreamWriter)>(null, v);
return;
}
org.jvnet.hk.config.DataType getValidator(java.lang.String)
{
java.lang.Throwable v, v;
java.lang.'annotation'.Annotation[] v;
java.util.Map v, v, v, v, v;
java.lang.String v, v;
boolean v;
org.jvnet.hk.config.DomDocument v;
java.util.Iterator v;
java.util.List v;
java.lang.Class v;
java.lang.Object v, v, v;
org.glassfish.hk.api.ServiceLocator v;
v := @this: org.jvnet.hk.config.DomDocument;
v := @parameter: java.lang.String;
v = v.<org.jvnet.hk.config.DomDocument: java.util.Map validators>;
entermonitor v;
label:
v = v.<org.jvnet.hk.config.DomDocument: java.util.Map validators>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
exitmonitor v;
label:
return v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.jvnet.hk.config.DomDocument: org.glassfish.hk.api.ServiceLocator habitat>;
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.util.List getAllServices(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lorg/jvnet/hk2/config/DataType;", v);
v = v.<org.jvnet.hk.config.DomDocument: java.util.Map validators>;
entermonitor v;
label:
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 = v.<org.jvnet.hk.config.DomDocument: java.util.Map validators>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.jvnet.hk.config.DomDocument: java.util.Map validators>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
java.lang.String[] v;
java.util.List v, v;
v = newarray (java.lang.String)[8];
v[0] = "boolean";
v[1] = "char";
v[2] = "long";
v[3] = "int";
v[4] = "java.lang.Boolean";
v[5] = "java.lang.Character";
v[6] = "java.lang.Long";
v[7] = "java.lang.Integer";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
<org.jvnet.hk.config.DomDocument: java.util.List PRIMS> = v;
return;
}
}