// generated from types.qiml

package com.jxml.quick.examples.types;
import com.jxml.quick.*;
import com.jxml.quick.engine.*;
import com.jxml.quick.recycle.*;
import com.jxml.quick.access.*;
import com.jxml.quick.tf.*;
import org.xml.sax.*;

public class CreateTest extends QSchemaFactory
{
	protected static QDoc schema=null;

	public static QDoc createSchema()
		throws SAXException, QE, QPE, ClassNotFoundException, InstantiationException, IllegalAccessException
	{
		if (schema!=null)
			return schema;
		return (new CreateTest()).create();
	}

	public QDoc create()
		throws SAXException, QE, QPE, ClassNotFoundException, InstantiationException, IllegalAccessException
	{
		if (schema!=null)
			return schema;
		QSoftDocHash sdh=Quick.schemaHash;
		QDoc rv=sdh.get("types.qiml");
		if (rv!=null)
		{
			schema=rv;
			return schema;
		}
		synchronized(this.getClass())
		{
			if (schema!=null)
				return schema;
			rv=build();
			schema=sdh.add(rv);
			if (schema!=rv)
				return schema;
			QRefHash.add(schema);
			return schema;
		}
	}

	protected QDoc build()
		throws SAXException, QE, QPE, ClassNotFoundException, InstantiationException, IllegalAccessException
	{
		QDocImpl doc=new QDocImpl();
		QCElementFactory rootCE=new QIML();
		doc.setRoot(rootCE);

		QElementFactory var0=new QElementFactory();
		var0.tagName="types";
		doc.setId("types",var0);
		QClassWrapper var1=new QClassWrapper();
		var0.targetFactory=var1;
		var1.wClassName="com.jxml.quick.examples.types.Types";
		QCElementFactory var2=new QCElementFactory();
		doc.setId("genid_991898787101",var2);
		var2.access=new com.jxml.quick.access.QMALAccess();

		QElementFactory var3=new QElementFactory();
		var3.tagName="_attributes";
		doc.setId("genid_991898787102",var3);
		var3.targetFactory=new com.jxml.quick.tf.QMALTF();
		QCElementFactory var4=new QCElementFactory();
		doc.setId("genid_991898787103",var4);
		var4.optional=true;
		QFieldAccess var5=new QFieldAccess();
		var4.access=var5;
		var5.field="b";

		QElementFactory var6=new QElementFactory();
		var6.tagName="b";
		doc.setId("types.att.b",var6);
		var6.targetFactory=new QPropertyEditor("java.lang.Boolean","sun.beans.editors.BoolEditor");

		var6.addToFactory(var4);
		var4.addToFactory(var3);
		QCElementFactory var7=new QCElementFactory();
		doc.setId("genid_991898787104",var7);
		var7.optional=true;
		QFieldAccess var8=new QFieldAccess();
		var7.access=var8;
		var8.field="bd";

		QElementFactory var9=new QElementFactory();
		var9.tagName="bd";
		doc.setId("types.att.bd",var9);
		var9.targetFactory=new QPropertyEditor("java.math.BigDecimal","com.jxml.quick.editors.BigDecimalEditor");

		var9.addToFactory(var7);
		var7.addToFactory(var3);
		QCElementFactory var10=new QCElementFactory();
		doc.setId("genid_991898787105",var10);
		var10.optional=true;
		QFieldAccess var11=new QFieldAccess();
		var10.access=var11;
		var11.field="bin";

		QElementFactory var12=new QElementFactory();
		var12.tagName="bin";
		doc.setId("types.att.bin",var12);
		var12.targetFactory=new QPropertyEditor("[B","com.jxml.quick.editors.Base64Editor");

		var12.addToFactory(var10);
		var10.addToFactory(var3);
		QCElementFactory var13=new QCElementFactory();
		doc.setId("genid_991898787106",var13);
		var13.optional=true;
		QFieldAccess var14=new QFieldAccess();
		var13.access=var14;
		var14.field="c";

		QElementFactory var15=new QElementFactory();
		var15.tagName="c";
		doc.setId("types.att.c",var15);
		var15.targetFactory=new QPropertyEditor("java.lang.Character","com.jxml.quick.editors.CharEditor");

		var15.addToFactory(var13);
		var13.addToFactory(var3);
		QCElementFactory var16=new QCElementFactory();
		doc.setId("genid_991898787107",var16);
		var16.optional=true;
		QFieldAccess var17=new QFieldAccess();
		var16.access=var17;
		var17.field="f";

		QElementFactory var18=new QElementFactory();
		var18.tagName="f";
		doc.setId("types.att.f",var18);
		var18.targetFactory=new QPropertyEditor("java.lang.Float","sun.beans.editors.FloatEditor");

		var18.addToFactory(var16);
		var16.addToFactory(var3);
		QCElementFactory var19=new QCElementFactory();
		doc.setId("genid_991898787108",var19);
		var19.optional=true;
		QFieldAccess var20=new QFieldAccess();
		var19.access=var20;
		var20.field="i";

		QElementFactory var21=new QElementFactory();
		var21.tagName="i";
		doc.setId("types.att.i",var21);
		var21.targetFactory=new QPropertyEditor("java.lang.Integer","sun.beans.editors.IntEditor");

		var21.addToFactory(var19);
		var19.addToFactory(var3);
		QCElementFactory var22=new QCElementFactory();
		doc.setId("genid_991898787109",var22);
		var22.optional=true;
		QFieldAccess var23=new QFieldAccess();
		var22.access=var23;
		var23.field="s";

		QElementFactory var24=new QElementFactory();
		var24.tagName="s";
		doc.setId("types.att.s",var24);
		var24.targetFactory=new QPropertyEditor("java.lang.String","sun.beans.editors.StringEditor");

		var24.addToFactory(var22);
		var22.addToFactory(var3);
		QCElementFactory var25=new QCElementFactory();
		doc.setId("genid_991898787110",var25);
		var25.optional=true;
		QFieldAccess var26=new QFieldAccess();
		var25.access=var26;
		var26.field="url";

		QElementFactory var27=new QElementFactory();
		var27.tagName="url";
		doc.setId("types.att.url",var27);
		var27.targetFactory=new QPropertyEditor("java.net.URL","com.jxml.quick.editors.URLEditor");

		var27.addToFactory(var25);
		var25.addToFactory(var3);

		var3.addToFactory(var2);
		var2.addToFactory(var0);

		var0.addToFactory(rootCE);
		doc.setSchema(Quick.QIMLSchema());
		doc.setKey("types.qiml");
		doc.pool=new QContextPool(doc);
		return doc;
	}
}
