// Generated by Haxe 4.3.1
package model;

import haxe.root.*;

@SuppressWarnings(value={"rawtypes", "unchecked"})
public class Diagram extends haxe.lang.HxObject
{
	public Diagram(haxe.lang.EmptyObject empty)
	{
	}
	
	
	public Diagram()
	{
		//line 13 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		model.Diagram.__hx_ctor_model_Diagram(this);
	}
	
	
	protected static void __hx_ctor_model_Diagram(model.Diagram __hx_this)
	{
		//line 14 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		__hx_this.sets = new haxe.ds.StringMap<model.Set>();
		//line 15 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		__hx_this.associations = new haxe.ds.StringMap<model.Association>();
		//line 16 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		__hx_this.height = 0;
		//line 17 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		__hx_this.width = 0;
	}
	
	
	public haxe.ds.StringMap<model.Set> sets;
	
	public haxe.ds.StringMap<model.Association> associations;
	
	public int width;
	
	public int height;
	
	public model.Set getObj(java.lang.String name)
	{
		//line 21 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		model.Set o = this.sets.get(name);
		//line 22 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		if (( o == null )) 
		{
			//line 23 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			o = this.associations.get(name);
		}
		
		//line 25 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		return o;
	}
	
	
	public java.lang.Object iterator()
	{
		//line 29 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		return new model.ObjectsIterator(((model.Diagram) (this) ));
	}
	
	
	public haxe.root.Array<haxe.root.Array<model.Set>> getGrid()
	{
		//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		haxe.root.Array<haxe.root.Array<model.Set>> _g = new haxe.root.Array<haxe.root.Array<model.Set>>(new haxe.root.Array[]{});
		//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		{
			//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			int _g1 = 0;
			//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			int _g2 = this.height;
			//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			while (( _g1 < _g2 ))
			{
				//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				int row = _g1++;
				//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				haxe.root.Array<model.Set> _g3 = new haxe.root.Array<model.Set>(new model.Set[]{});
				//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				{
					//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
					int _g4 = 0;
					//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
					int _g5 = this.width;
					//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
					while (( _g4 < _g5 ))
					{
						//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						int col = _g4++;
						//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						_g3.push(null);
					}
					
				}
				
				//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				_g.push(_g3);
			}
			
		}
		
		//line 33 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		haxe.root.Array<haxe.root.Array<model.Set>> grid = _g;
		//line 34 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		{
			//line 34 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			java.lang.Object o = this.iterator();
			//line 34 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			while (haxe.lang.Runtime.toBool(((java.lang.Boolean) (haxe.lang.Runtime.callField(o, "hasNext", null)) )))
			{
				//line 34 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				model.Set o1 = ((model.Set) (haxe.lang.Runtime.callField(o, "next", null)) );
				//line 35 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				grid.__get(o1.row).__set(o1.col, o1);
			}
			
		}
		
		//line 37 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		return grid;
	}
	
	
	public void loadGrid(haxe.root.Array<haxe.root.Array<model.Set>> grid)
	{
		//line 41 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		this.height = grid.length;
		//line 42 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		this.width = ( (( this.height == 0 )) ? (0) : (grid.__get(0).length) );
		//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		{
			//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			int _g = 0;
			//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			int _g1 = grid.length;
			//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			while (( _g < _g1 ))
			{
				//line 43 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				int row = _g++;
				//line 44 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				{
					//line 44 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
					int _g2 = 0;
					//line 44 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
					int _g3 = grid.__get(row).length;
					//line 44 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
					while (( _g2 < _g3 ))
					{
						//line 44 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						int col = _g2++;
						//line 45 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (( grid.__get(row).__get(col) != null )) 
						{
							//line 46 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							grid.__get(row).__get(col).row = row;
							//line 47 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							grid.__get(row).__get(col).col = col;
						}
						
					}
					
				}
				
			}
			
		}
		
	}
	
	
	@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/Diagram.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				switch (field.hashCode())
				{
					case -1221029593:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("height")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							this.height = ((int) (value) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("width")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							this.width = ((int) (value) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				return super.__hx_setField_f(field, value, handleProperties);
			}
			else
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.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/Diagram.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				switch (field.hashCode())
				{
					case -1221029593:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("height")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							this.height = ((int) (haxe.lang.Runtime.toInt(value)) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 3526737:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("sets")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							this.sets = ((haxe.ds.StringMap<model.Set>) (value) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("width")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							this.width = ((int) (haxe.lang.Runtime.toInt(value)) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 1582478354:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("associations")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							this.associations = ((haxe.ds.StringMap<model.Association>) (value) );
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return value;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				return super.__hx_setField(field, value, handleProperties);
			}
			else
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.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/Diagram.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				switch (field.hashCode())
				{
					case 1845223756:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("loadGrid")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "loadGrid")) );
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 3526737:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("sets")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return this.sets;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case -75500612:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("getGrid")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "getGrid")) );
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 1582478354:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("associations")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return this.associations;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 1182533742:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("iterator")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "iterator")) );
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("width")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return this.width;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case -1249354303:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("getObj")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return ((haxe.lang.Function) (new haxe.lang.Closure(this, "getObj")) );
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case -1221029593:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("height")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return this.height;
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				return super.__hx_getField(field, throwErrors, isCheck, handleProperties);
			}
			else
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.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/Diagram.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				switch (field.hashCode())
				{
					case -1221029593:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("height")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return ((double) (this.height) );
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 113126854:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("width")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return ((double) (this.width) );
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				return super.__hx_getField_f(field, throwErrors, handleProperties);
			}
			else
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.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/Diagram.hx"
		{
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			boolean __temp_executeDef1 = true;
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (( field != null )) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				switch (field.hashCode())
				{
					case 1845223756:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("loadGrid")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							this.loadGrid(((haxe.root.Array<haxe.root.Array<model.Set>>) (dynargs[0]) ));
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case -1249354303:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("getObj")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return this.getObj(haxe.lang.Runtime.toString(dynargs[0]));
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case -75500612:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("getGrid")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return this.getGrid();
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
					case 1182533742:
					{
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						if (field.equals("iterator")) 
						{
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							__temp_executeDef1 = false;
							//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
							return this.iterator();
						}
						
						//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
						break;
					}
					
					
				}
				
			}
			
			//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
			if (__temp_executeDef1) 
			{
				//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
				return super.__hx_invokeField(field, dynargs);
			}
			
		}
		
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		return 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/Diagram.hx"
		baseArr.push("height");
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		baseArr.push("width");
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		baseArr.push("associations");
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		baseArr.push("sets");
		//line 5 "/home/frank/Documents/Developpements/dbconcept-0.5.0/src/model/Diagram.hx"
		super.__hx_getFields(baseArr);
	}
	
	
}


