// Generated by Haxe 4.3.3
package model;

import haxe.root.*;

@SuppressWarnings(value={"rawtypes", "unchecked"})
public class Set extends model.Obj
{
	static
	{
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		model.Set.SUBSET_OPT_BOTH = 0;
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		model.Set.SUBSET_OPT_CHILDREN = 1;
		//line 6 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		model.Set.SUBSET_OPT_PARENT = 2;
	}
	
	public Set(haxe.lang.EmptyObject empty)
	{
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		super(haxe.lang.EmptyObject.EMPTY);
	}
	
	
	public Set(java.lang.String name, model.Set superset, java.lang.Object isTypedef, java.lang.Object isInterface, java.lang.Object isAbstract)
	{
		//line 27 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		super(((haxe.lang.EmptyObject) (haxe.lang.EmptyObject.EMPTY) ));
		//line 27 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		model.Set.__hx_ctor_model_Set(this, name, superset, isTypedef, isInterface, isAbstract);
	}
	
	
	protected static void __hx_ctor_model_Set(model.Set __hx_this, java.lang.String name, model.Set superset, java.lang.Object isTypedef, java.lang.Object isInterface, java.lang.Object isAbstract)
	{
		//line 26 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		boolean isAbstract1 = ( (haxe.lang.Runtime.eq(isAbstract, null)) ? (false) : (haxe.lang.Runtime.toBool(((java.lang.Boolean) (isAbstract) ))) );
		//line 26 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		boolean isInterface1 = ( (haxe.lang.Runtime.eq(isInterface, null)) ? (false) : (haxe.lang.Runtime.toBool(((java.lang.Boolean) (isInterface) ))) );
		//line 26 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		boolean isTypedef1 = ( (haxe.lang.Runtime.eq(isTypedef, null)) ? (false) : (haxe.lang.Runtime.toBool(((java.lang.Boolean) (isTypedef) ))) );
		//line 27 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		model.Obj.__hx_ctor_model_Obj(__hx_this, name);
		//line 29 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.superset = superset;
		//line 30 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.subsets = new haxe.root.Array<model.Set>();
		//line 31 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.subsetType = "";
		//line 32 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.subsetOption = -1;
		//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.subsetCode = "";
		//line 35 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.id = new haxe.root.Array<java.lang.String>();
		//line 36 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.compound = null;
		//line 38 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.isTypedef = isTypedef1;
		//line 39 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.isInterface = isInterface1;
		//line 40 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.isAbstract = isAbstract1;
		//line 41 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.interfaces = new haxe.root.Array<model.Set>();
		//line 42 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.constructors = new haxe.root.Array<model.Method>();
		//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.methods = new haxe.root.Array<model.Method>();
		//line 44 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.accessors = new haxe.root.Array<model.Method>();
		//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		__hx_this.navFields = new haxe.root.Array<model.Field>();
	}
	
	
	public static int SUBSET_OPT_BOTH;
	
	public static int SUBSET_OPT_CHILDREN;
	
	public static int SUBSET_OPT_PARENT;
	
	public model.Set superset;
	
	public haxe.root.Array<model.Set> subsets;
	
	public java.lang.String subsetType;
	
	public int subsetOption;
	
	public java.lang.String subsetCode;
	
	public haxe.root.Array<java.lang.String> id;
	
	public model.Set compound;
	
	public boolean isTypedef;
	
	public boolean isInterface;
	
	public boolean isAbstract;
	
	public haxe.root.Array<model.Set> interfaces;
	
	public haxe.root.Array<model.Method> constructors;
	
	public haxe.root.Array<model.Method> methods;
	
	public haxe.root.Array<model.Method> accessors;
	
	public haxe.root.Array<model.Field> navFields;
	
	public model.Field getFieldCode(java.lang.String fName)
	{
		//line 49 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		model.Field field = ((model.Field) (haxe.root.Lambda.find(((java.lang.Object) (this.fields) ), ((haxe.lang.Function) (new model.Set_getFieldCode_49__Fun(fName)) ))) );
		//line 50 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		if (( field == null )) 
		{
			//line 51 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			field = ((model.Field) (haxe.root.Lambda.find(((java.lang.Object) (this.navFields) ), ((haxe.lang.Function) (new model.Set_getFieldCode_51__Fun(fName)) ))) );
		}
		
		//line 53 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		return field;
	}
	
	
	public model.Field getFieldFromArrayType(java.lang.String tName)
	{
		//line 57 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		model.Field field = ((model.Field) (haxe.root.Lambda.find(((java.lang.Object) (this.fields) ), ((haxe.lang.Function) (new model.Set_getFieldFromArrayType_57__Fun(tName)) ))) );
		//line 58 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		if (( field == null )) 
		{
			//line 59 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			field = ((model.Field) (haxe.root.Lambda.find(((java.lang.Object) (this.navFields) ), ((haxe.lang.Function) (new model.Set_getFieldFromArrayType_59__Fun(tName)) ))) );
		}
		
		//line 61 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		return field;
	}
	
	
	public boolean isGeneric()
	{
		//line 65 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		if ( ! (haxe.lang.Runtime.toBool(((java.lang.Boolean) (haxe.root.Lambda.exists(((java.lang.Object) (this.fields) ), ((haxe.lang.Function) (( (( model.Set_isGeneric_65__Fun.__hx_current != null )) ? (model.Set_isGeneric_65__Fun.__hx_current) : (model.Set_isGeneric_65__Fun.__hx_current = ((model.Set_isGeneric_65__Fun) (new model.Set_isGeneric_65__Fun()) )) )) ))) ))) ) 
		{
			//line 66 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			return haxe.lang.Runtime.toBool(((java.lang.Boolean) (haxe.root.Lambda.exists(((java.lang.Object) (this.methods) ), ((haxe.lang.Function) (( (( model.Set_isGeneric_66__Fun.__hx_current != null )) ? (model.Set_isGeneric_66__Fun.__hx_current) : (model.Set_isGeneric_66__Fun.__hx_current = ((model.Set_isGeneric_66__Fun) (new model.Set_isGeneric_66__Fun()) )) )) ))) ));
		}
		else
		{
			//line 65 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			return true;
		}
		
	}
	
	
	public java.lang.String getPluralClassName()
	{
		//line 70 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		java.lang.String lastChar = haxe.lang.StringExt.charAt(this.className, ( this.className.length() - 1 )).toLowerCase();
		//line 71 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		java.lang.String endStr = haxe.lang.StringExt.substring(this.className, ( this.className.length() - 2 ), this.className.length()).toLowerCase();
		//line 72 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		java.lang.String pluralName = ( this.className + "s" );
		//line 73 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		if (( haxe.lang.Runtime.valEq(endStr, "au") || haxe.lang.Runtime.valEq(endStr, "eu") )) 
		{
			//line 74 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			pluralName = ( this.className + "x" );
		}
		else
		{
			//line 75 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (haxe.lang.Runtime.valEq(endStr, "al")) 
			{
				//line 76 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				pluralName = ( haxe.lang.StringExt.substring(this.className, 0, ( this.className.length() - 2 )) + "aux" );
			}
			else
			{
				//line 77 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				if (( ( haxe.lang.Runtime.valEq(lastChar, "z") || haxe.lang.Runtime.valEq(lastChar, "x") ) || haxe.lang.Runtime.valEq(lastChar, "s") )) 
				{
					//line 78 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
					pluralName = this.className;
				}
				
			}
			
		}
		
		//line 80 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		return pluralName;
	}
	
	
	@Override public double __hx_setField_f(java.lang.String field, double value, boolean handleProperties)
	{
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				switch (field.hashCode())
				{
					case 562506039:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsetOption")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.subsetOption = ((int) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				return super.__hx_setField_f(field, value, handleProperties);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public java.lang.Object __hx_setField(java.lang.String field, java.lang.Object value, boolean handleProperties)
	{
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				switch (field.hashCode())
				{
					case -247239236:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("navFields")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.navFields = ((haxe.root.Array<model.Field>) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1673275641:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("superset")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.superset = ((model.Set) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -2115023092:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("accessors")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.accessors = ((haxe.root.Array<model.Method>) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1867616623:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsets")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.subsets = ((haxe.root.Array<model.Set>) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 955534258:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("methods")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.methods = ((haxe.root.Array<model.Method>) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1161267076:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsetType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.subsetType = haxe.lang.Runtime.toString(value);
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1995954247:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("constructors")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.constructors = ((haxe.root.Array<model.Method>) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 562506039:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsetOption")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.subsetOption = ((int) (haxe.lang.Runtime.toInt(value)) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1598539174:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("interfaces")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.interfaces = ((haxe.root.Array<model.Set>) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1161783505:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsetCode")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.subsetCode = haxe.lang.Runtime.toString(value);
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 939628396:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("isAbstract")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.isAbstract = haxe.lang.Runtime.toBool(((java.lang.Boolean) (value) ));
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 3355:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("id")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.id = ((haxe.root.Array<java.lang.String>) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 1681043247:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("isInterface")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.isInterface = haxe.lang.Runtime.toBool(((java.lang.Boolean) (value) ));
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -599340629:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("compound")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.compound = ((model.Set) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1432864255:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("isTypedef")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							this.isTypedef = haxe.lang.Runtime.toBool(((java.lang.Boolean) (value) ));
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				return super.__hx_setField(field, value, handleProperties);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public java.lang.Object __hx_getField(java.lang.String field, boolean throwErrors, boolean isCheck, boolean handleProperties)
	{
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				switch (field.hashCode())
				{
					case -580015415:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("getPluralClassName")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "getPluralClassName")) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1673275641:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("superset")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.superset;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -659926707:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("isGeneric")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "isGeneric")) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1867616623:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsets")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.subsets;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -154501179:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("getFieldFromArrayType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "getFieldFromArrayType")) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1161267076:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsetType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.subsetType;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 1255090001:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("getFieldCode")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "getFieldCode")) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 562506039:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsetOption")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.subsetOption;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -247239236:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("navFields")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.navFields;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1161783505:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsetCode")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.subsetCode;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -2115023092:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("accessors")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.accessors;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 3355:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("id")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.id;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 955534258:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("methods")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.methods;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -599340629:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("compound")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.compound;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1995954247:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("constructors")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.constructors;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1432864255:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("isTypedef")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.isTypedef;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -1598539174:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("interfaces")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.interfaces;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 1681043247:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("isInterface")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.isInterface;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 939628396:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("isAbstract")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.isAbstract;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				return super.__hx_getField(field, throwErrors, isCheck, handleProperties);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public double __hx_getField_f(java.lang.String field, boolean throwErrors, boolean handleProperties)
	{
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				switch (field.hashCode())
				{
					case 562506039:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("subsetOption")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return ((double) (this.subsetOption) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				return super.__hx_getField_f(field, throwErrors, handleProperties);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public java.lang.Object __hx_invokeField(java.lang.String field, java.lang.Object[] dynargs)
	{
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				switch (field.hashCode())
				{
					case -580015415:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("getPluralClassName")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.getPluralClassName();
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case 1255090001:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("getFieldCode")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.getFieldCode(haxe.lang.Runtime.toString(dynargs[0]));
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -659926707:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("isGeneric")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.isGeneric();
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
					case -154501179:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						if (field.equals("getFieldFromArrayType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
							return this.getFieldFromArrayType(haxe.lang.Runtime.toString(dynargs[0]));
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				return super.__hx_invokeField(field, dynargs);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public void __hx_getFields(haxe.root.Array<java.lang.String> baseArr)
	{
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("navFields");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("accessors");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("methods");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("constructors");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("interfaces");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("isAbstract");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("isInterface");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("isTypedef");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("compound");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("id");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("subsetCode");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("subsetOption");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("subsetType");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("subsets");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		baseArr.push("superset");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Set.hx"
		super.__hx_getFields(baseArr);
	}
	
	
}


