// Generated by Haxe 4.3.3
package model;

import haxe.root.*;

@SuppressWarnings(value={"rawtypes", "unchecked"})
public class Field extends haxe.lang.HxObject
{
	static
	{
		//line 4 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		model.Field.ACCESS_UNSET = 0;
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		model.Field.ACCESS_PRIVATE = 1;
		//line 6 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		model.Field.ACCESS_PROTECTED = 2;
		//line 7 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		model.Field.ACCESS_PUBLIC = 3;
	}
	
	public Field(haxe.lang.EmptyObject empty)
	{
	}
	
	
	public Field(java.lang.String name, java.lang.String type, java.lang.Object visibility, java.lang.Object isStatic)
	{
		//line 27 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		model.Field.__hx_ctor_model_Field(this, name, type, visibility, isStatic);
	}
	
	
	protected static void __hx_ctor_model_Field(model.Field __hx_this, java.lang.String name, java.lang.String type, java.lang.Object visibility, java.lang.Object isStatic)
	{
		//line 27 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		boolean isStatic1 = ( (haxe.lang.Runtime.eq(isStatic, null)) ? (false) : (haxe.lang.Runtime.toBool(((java.lang.Boolean) (isStatic) ))) );
		//line 27 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		int visibility1 = ( (haxe.lang.Runtime.eq(visibility, null)) ? (0) : (((int) (haxe.lang.Runtime.toInt(visibility)) )) );
		//line 28 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		__hx_this.set_name(name);
		//line 29 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		__hx_this.set_type(type);
		//line 30 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		__hx_this.visibility = visibility1;
		//line 31 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		__hx_this.isStatic = isStatic1;
	}
	
	
	public static int ACCESS_UNSET;
	
	public static int ACCESS_PRIVATE;
	
	public static int ACCESS_PROTECTED;
	
	public static int ACCESS_PUBLIC;
	
	public static java.lang.String getVisibilitySymbol(int value)
	{
		//line 10 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		{
			//line 10 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			int __temp_switch1 = (value);
			//line 11 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (( __temp_switch1 == model.Field.ACCESS_PRIVATE )) 
			{
				//line 11 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				return "-";
			}
			else
			{
				//line 12 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				if (( __temp_switch1 == model.Field.ACCESS_PROTECTED )) 
				{
					//line 12 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
					return "#";
				}
				else
				{
					//line 13 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
					if (( __temp_switch1 == model.Field.ACCESS_PUBLIC )) 
					{
						//line 13 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						return "+";
					}
					else
					{
						//line 14 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						return " ";
					}
					
				}
				
			}
			
		}
		
	}
	
	
	public static java.lang.String classOf(java.lang.String typeName)
	{
		//line 49 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		java.lang.String upperName = typeName.toUpperCase();
		//line 50 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		if (haxe.lang.Runtime.valEq(upperName, "FLOAT")) 
		{
			//line 50 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			return "Float";
		}
		else
		{
			//line 51 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (haxe.lang.Runtime.valEq(upperName, "DOUBLE")) 
			{
				//line 51 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				return "Double";
			}
			else
			{
				//line 52 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				if (haxe.lang.Runtime.valEq(upperName, "BOOLEAN")) 
				{
					//line 52 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
					return "Bool";
				}
				else
				{
					//line 53 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
					if (haxe.lang.Runtime.valEq(upperName, "DATE")) 
					{
						//line 53 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						return "Date";
					}
					else
					{
						//line 54 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (haxe.lang.Runtime.valEq(upperName, "TIME")) 
						{
							//line 54 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return "Time";
						}
						else
						{
							//line 55 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							if (haxe.lang.Runtime.valEq(upperName, "DATETIME")) 
							{
								//line 55 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								return "DateTime";
							}
							else
							{
								//line 56 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								if (( ( haxe.lang.Runtime.valEq(upperName, "INTEGER") || haxe.lang.Runtime.valEq(upperName, "INT") ) || haxe.lang.Runtime.valEq(upperName, "COUNTER") )) 
								{
									//line 56 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
									return "Int";
								}
								else
								{
									//line 57 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
									if (( ( ( haxe.lang.StringExt.indexOf(upperName, "CHAR(", null) == 0 ) || ( haxe.lang.StringExt.indexOf(upperName, "VARCHAR(", null) == 0 ) ) || haxe.lang.Runtime.valEq(upperName, "TEXT") )) 
									{
										//line 57 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
										return "String";
									}
									else
									{
										//line 58 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
										return typeName;
									}
									
								}
								
							}
							
						}
						
					}
					
				}
				
			}
			
		}
		
	}
	
	
	public static java.lang.String arrayOf(java.lang.String typeName)
	{
		//line 66 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		return ( ( "Array<" + model.Field.classOf(typeName) ) + ">" );
	}
	
	
	public java.lang.String name;
	
	public java.lang.String className;
	
	public java.lang.String type;
	
	public java.lang.String dbType;
	
	public java.lang.String classType;
	
	public java.lang.String languageType;
	
	public int visibility;
	
	public boolean isStatic;
	
	public java.lang.String set_name(java.lang.String name)
	{
		//line 35 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		this.name = name;
		//line 36 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		this.className = model.Obj.fixName(name, null);
		//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		return this.name;
	}
	
	
	public java.lang.String set_type(java.lang.String type)
	{
		//line 41 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		this.type = type;
		//line 42 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		this.dbType = ( (haxe.lang.Runtime.valEq(type.toUpperCase(), "COUNTER")) ? ("INT") : (type.toUpperCase()) );
		//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		this.classType = model.Field.classOf(type);
		//line 44 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		this.languageType = this.classType;
		//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		return this.type;
	}
	
	
	public boolean isArray()
	{
		//line 70 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		return haxe.lang.Runtime.valEq(haxe.lang.StringExt.substring(this.classType, 0, 5), "Array");
	}
	
	
	public java.lang.String toDomainString()
	{
		//line 74 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		return ( ( model.Field.getVisibilitySymbol(this.visibility) + " " ) + this.className );
	}
	
	
	public java.lang.String toUMLString()
	{
		//line 78 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		java.lang.String str = ( ( model.Field.getVisibilitySymbol(this.visibility) + " " ) + this.className );
		//line 79 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		if ( ! (haxe.lang.Runtime.valEq(this.classType, "")) ) 
		{
			//line 80 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			str += ( " : " + this.classType );
		}
		
		//line 82 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		return str;
	}
	
	
	@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/Field.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				switch (field.hashCode())
				{
					case 1941332754:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("visibility")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							this.visibility = ((int) (value) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				return super.__hx_setField_f(field, value, handleProperties);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.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/Field.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				switch (field.hashCode())
				{
					case -218447816:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("isStatic")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							this.isStatic = haxe.lang.Runtime.toBool(((java.lang.Boolean) (value) ));
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 3373707:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("name")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							if (handleProperties) 
							{
								//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								this.set_name(haxe.lang.Runtime.toString(value));
								//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								return value;
							}
							else
							{
								//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								this.name = haxe.lang.Runtime.toString(value);
								//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								return value;
							}
							
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 1941332754:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("visibility")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							this.visibility = ((int) (haxe.lang.Runtime.toInt(value)) );
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case -9888733:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("className")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							this.className = haxe.lang.Runtime.toString(value);
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case -2091832654:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("languageType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							this.languageType = haxe.lang.Runtime.toString(value);
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 3575610:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("type")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							if (handleProperties) 
							{
								//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								this.set_type(haxe.lang.Runtime.toString(value));
								//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								return value;
							}
							else
							{
								//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								this.type = haxe.lang.Runtime.toString(value);
								//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
								return value;
							}
							
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case -9686830:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("classType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							this.classType = haxe.lang.Runtime.toString(value);
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case -1338924840:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("dbType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							this.dbType = haxe.lang.Runtime.toString(value);
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return value;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				return super.__hx_setField(field, value, handleProperties);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.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/Field.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				switch (field.hashCode())
				{
					case 629164490:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("toUMLString")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "toUMLString")) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 3373707:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("name")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.name;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 2036269072:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("toDomainString")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "toDomainString")) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case -9888733:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("className")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.className;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 2054496079:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("isArray")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "isArray")) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 3575610:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("type")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.type;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 1415575799:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("set_type")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "set_type")) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case -1338924840:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("dbType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.dbType;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 1415373896:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("set_name")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "set_name")) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case -9686830:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("classType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.classType;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case -218447816:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("isStatic")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.isStatic;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case -2091832654:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("languageType")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.languageType;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 1941332754:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("visibility")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.visibility;
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				return super.__hx_getField(field, throwErrors, isCheck, handleProperties);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.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/Field.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				switch (field.hashCode())
				{
					case 1941332754:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("visibility")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return ((double) (this.visibility) );
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				return super.__hx_getField_f(field, throwErrors, handleProperties);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.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/Field.hx"
		{
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			boolean __temp_executeDef1 = true;
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (( field != null )) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				switch (field.hashCode())
				{
					case 629164490:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("toUMLString")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.toUMLString();
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 1415373896:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("set_name")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.set_name(haxe.lang.Runtime.toString(dynargs[0]));
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 2036269072:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("toDomainString")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.toDomainString();
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 1415575799:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("set_type")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.set_type(haxe.lang.Runtime.toString(dynargs[0]));
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
					case 2054496079:
					{
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						if (field.equals("isArray")) 
						{
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							__temp_executeDef1 = false;
							//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
							return this.isArray();
						}
						
						//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
			if (__temp_executeDef1) 
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
				return super.__hx_invokeField(field, dynargs);
			}
			else
			{
				//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.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/Field.hx"
		baseArr.push("isStatic");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		baseArr.push("visibility");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		baseArr.push("languageType");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		baseArr.push("classType");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		baseArr.push("dbType");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		baseArr.push("type");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		baseArr.push("className");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		baseArr.push("name");
		//line 3 "/home/frank/Documents/Developpements/dbconcept-0.5.1/src/model/Field.hx"
		super.__hx_getFields(baseArr);
	}
	
	
}


