// Generated by Haxe 4.3.1
package model;

import haxe.root.*;

@SuppressWarnings(value={"rawtypes", "unchecked"})
public class MLD extends haxe.lang.HxObject
{
	public MLD(haxe.lang.EmptyObject empty)
	{
	}
	
	
	public MLD()
	{
		//line 12 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		model.MLD.__hx_ctor_model_MLD(this);
	}
	
	
	protected static void __hx_ctor_model_MLD(model.MLD __hx_this)
	{
		//line 13 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		__hx_this.relations = new haxe.ds.StringMap<model.Relation>();
	}
	
	
	public haxe.ds.StringMap<model.Relation> relations;
	
	public int width;
	
	public int height;
	
	public java.lang.String toString(java.lang.Object univ)
	{
		//line 17 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		boolean univ1 = ( (haxe.lang.Runtime.eq(univ, null)) ? (true) : (haxe.lang.Runtime.toBool(((java.lang.Boolean) (univ) ))) );
		//line 17 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		haxe.root.Array<java.lang.String> _g = new haxe.root.Array<java.lang.String>(new java.lang.String[]{});
		//line 17 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		{
			//line 17 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			java.lang.Object x = ((java.lang.Object) (haxe.lang.Runtime.callField(((java.lang.Object) (this.relations) ), "iterator", null)) );
			//line 17 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			while (haxe.lang.Runtime.toBool(((java.lang.Boolean) (haxe.lang.Runtime.callField(x, "hasNext", null)) )))
			{
				//line 17 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				model.Relation x1 = ((model.Relation) (haxe.lang.Runtime.callField(x, "next", null)) );
				//line 17 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				_g.push(( (univ1) ? (x1.toUnivString()) : (x1.toENString()) ));
			}
			
		}
		
		//line 17 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		return _g.join("\n");
	}
	
	
	@Override public double __hx_setField_f(java.lang.String field, double value, boolean handleProperties)
	{
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				switch (field.hashCode())
				{
					case -1221029593:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("height")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							this.height = ((int) (value) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("width")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							this.width = ((int) (value) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				return super.__hx_setField_f(field, value, handleProperties);
			}
			else
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public java.lang.Object __hx_setField(java.lang.String field, java.lang.Object value, boolean handleProperties)
	{
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				switch (field.hashCode())
				{
					case -1221029593:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("height")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							this.height = ((int) (haxe.lang.Runtime.toInt(value)) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
					case -7649801:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("relations")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							this.relations = ((haxe.ds.StringMap<model.Relation>) (value) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("width")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							this.width = ((int) (haxe.lang.Runtime.toInt(value)) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				return super.__hx_setField(field, value, handleProperties);
			}
			else
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public java.lang.Object __hx_getField(java.lang.String field, boolean throwErrors, boolean isCheck, boolean handleProperties)
	{
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				switch (field.hashCode())
				{
					case -1776922004:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("toString")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "toString")) );
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
					case -7649801:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("relations")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return this.relations;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
					case -1221029593:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("height")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return this.height;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("width")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return this.width;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				return super.__hx_getField(field, throwErrors, isCheck, handleProperties);
			}
			else
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public double __hx_getField_f(java.lang.String field, boolean throwErrors, boolean handleProperties)
	{
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				switch (field.hashCode())
				{
					case -1221029593:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("height")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return ((double) (this.height) );
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("width")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return ((double) (this.width) );
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				return super.__hx_getField_f(field, throwErrors, handleProperties);
			}
			else
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public java.lang.Object __hx_invokeField(java.lang.String field, java.lang.Object[] dynargs)
	{
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				switch (field.hashCode())
				{
					case -1776922004:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						if (field.equals("toString")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
							return this.toString(( (( dynargs.length > 0 )) ? (dynargs[0]) : (null) ));
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				return super.__hx_invokeField(field, dynargs);
			}
			else
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
				throw null;
			}
			
		}
		
	}
	
	
	@Override public void __hx_getFields(haxe.root.Array<java.lang.String> baseArr)
	{
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		baseArr.push("height");
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		baseArr.push("width");
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		baseArr.push("relations");
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/MLD.hx"
		super.__hx_getFields(baseArr);
	}
	
	
}


