gt: 		this.componentIdentifier = startControlID.toString();
context: //#############################################################################
  //#                                                                           #
  //#  Copyright (C) <2014>  <IMS MAXIMS>                                       #
  //#                                                                           #
  //#  This program is free software: you can redistribute it and/or modify     #
  //#  it under the terms of the GNU Affero General Public License as           #
  //#  published by the Free Software Foundation, either version 3 of the       #
  //#  License, or (at your option) any later version.                          # 
  //#                                                                           #
  //#  This program is distributed in the hope that it will be useful,          #
  //#  but WITHOUT ANY WARRANTY; without even the implied warranty of           #
  //#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
  //#  GNU Affero General Public License for more details.                      #
  //#                                                                           #
  //#  You should have received a copy of the GNU Affero General Public License #
  //#  along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
  //#                                                                           #
  //#############################################################################
  //#EOH
  // This code was generated by Barbara Worwood using IMS Development Environment (version 1.80 build 5007.25751)
  // Copyright (C) 1995-2014 IMS MAXIMS. All rights reserved.
  // WARNING: DO NOT MODIFY the content of this file
  
  package ims.scheduling.forms.cancellationreasonconfig;
  
  import ims.framework.*;
  import ims.framework.controls.*;
  import ims.framework.enumerations.*;
  import ims.framework.utils.RuntimeAnchoring;
  
  public class GenForm extends FormBridge
  {
  	private static final long serialVersionUID = 1L;
  
  	public boolean canProvideData(IReportSeed[] reportSeeds)
  	{
  		return new ReportDataProvider(reportSeeds, this.getFormReportFields()).canProvideData();
  	}
  	public boolean hasData(IReportSeed[] reportSeeds)
  	{
  		return new ReportDataProvider(reportSeeds, this.getFormReportFields()).hasData();
  	}
  	public IReportField[] getData(IReportSeed[] reportSeeds)
  	{
  		return getData(reportSeeds, false);
  	}
  	public IReportField[] getData(IReportSeed[] reportSeeds, boolean excludeNulls)
  	{
  		return new ReportDataProvider(reportSeeds, this.getFormReportFields(), excludeNulls).getData();
  	}
  	public static class grdCancellationTypeRow extends GridRowBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		protected grdCancellationTypeRow(GridRow row)
  		{
  			super(row);
  		}
  		public void showOpened(int column)
  		{
  			super.row.showOpened(column);
  		}
  		public void setcolCancellationTypeReadOnly(boolean value)
  		{
  			super.row.setReadOnly(0, value);
  		}
  		public boolean iscolCancellationTypeReadOnly()
  		{
  			return super.row.isReadOnly(0);
  		}
  		public void showcolCancellationTypeOpened()
  		{
  			super.row.showOpened(0);
  		}
  		public String getcolCancellationType()
  		{
  			return (String)super.row.get(0);
  		}
  		public void setcolCancellationType(String value)
  		{
  			super.row.set(0, value);
  		}
  		public void setCellcolCancellationTypeTooltip(String value)
  		{
  			super.row.setTooltip(0, value);
  		}
  		public ims.scheduling.vo.lookups.Status_Reason getValue()
  		{
  			return (ims.scheduling.vo.lookups.Status_Reason)super.row.getValue();
  		}
  		public void setValue(ims.scheduling.vo.lookups.Status_Reason value)
  		{
  			super.row.setValue(value);
  		}
  	}
  	public static class grdCancellationTypeRowCollection extends GridRowCollectionBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		private grdCancellationTypeRowCollection(GridRowCollection collection)
  		{
  			super(collection);
  		}
  		public grdCancellationTypeRow get(int index)
  		{
  			return new grdCancellationTypeRow(super.collection.get(index));
  		}
  		public grdCancellationTypeRow newRow()
  		{
  			return new grdCancellationTypeRow(super.collection.newRow());
  		}
  		public grdCancellationTypeRow newRow(boolean autoSelect)
  		{
  			return new grdCancellationTypeRow(super.collection.newRow(autoSelect));
  		}
  		public grdCancellationTypeRow newRowAt(int index)
  		{
  			return new grdCancellationTypeRow(super.collection.newRowAt(index));
  		}
  		public grdCancellationTypeRow newRowAt(int index, boolean autoSelect)
  		{
  			return new grdCancellationTypeRow(super.collection.newRowAt(index, autoSelect));
  		}
  	}
  	public static class grdCancellationTypeGrid extends GridBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		private void addStringColumn(String caption, int captionAlignment, int alignment, int width, boolean readOnly, boolean bold, int sortOrder, int maxLength, boolean canGrow, ims.framework.enumerations.CharacterCasing casing)
  		{
  			super.grid.addStringColumn(caption, captionAlignment, alignment, width, readOnly, bold, sortOrder, maxLength, canGrow, casing);
  		}
  		public ims.scheduling.vo.lookups.Status_Reason[] getValues()
  		{
  			ims.scheduling.vo.lookups.Status_Reason[] listOfValues = new ims.scheduling.vo.lookups.Status_Reason[this.getRows().size()];
  			for(int x = 0; x < this.getRows().size(); x++)
  			{
  				listOfValues[x] = this.getRows().get(x).getValue();
  			}
  			return listOfValues;
  		}
  		public ims.scheduling.vo.lookups.Status_Reason getValue()
  		{
  			return (ims.scheduling.vo.lookups.Status_Reason)super.grid.getValue();
  		}
  		public void setValue(ims.scheduling.vo.lookups.Status_Reason value)
  		{
  			super.grid.setValue(value);
  		}
  		public grdCancellationTypeRow getSelectedRow()
  		{
  			return super.grid.getSelectedRow() == null ? null : new grdCancellationTypeRow(super.grid.getSelectedRow());
  		}
  		public int getSelectedRowIndex()
  		{
  			return super.grid.getSelectedRowIndex();
  		}
  		public grdCancellationTypeRowCollection getRows()
  		{
  			return new grdCancellationTypeRowCollection(super.grid.getRows());
  		}
  		public grdCancellationTypeRow getRowByValue(ims.scheduling.vo.lookups.Status_Reason value)
  		{
  			GridRow row = super.grid.getRowByValue(value);
  			return row == null?null:new grdCancellationTypeRow(row);
  		}
  		public void setcolCancellationTypeHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(0, value);
  		}
  		public String getcolCancellationTypeHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(0);
  		}
  	}
  	public static class grdCancellationReasonsRow extends GridRowBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		protected grdCancellationReasonsRow(GridRow row)
  		{
  			super(row);
  		}
  		public void showOpened(int column)
  		{
  			super.row.showOpened(column);
  		}
  		public void setcolCancellationReasonReadOnly(boolean value)
  		{
  			super.row.setReadOnly(0, value);
  		}
  		public boolean iscolCancellationReasonReadOnly()
  		{
  			return super.row.isReadOnly(0);
  		}
  		public void showcolCancellationReasonOpened()
  		{
  			super.row.showOpened(0);
  		}
  		public String getcolCancellationReason()
  		{
  			return (String)super.row.get(0);
  		}
  		public void setcolCancellationReason(String value)
  		{
  			super.row.set(0, value);
  		}
  		public void setCellcolCancellationReasonTooltip(String value)
  		{
  			super.row.setTooltip(0, value);
  		}
  		public void setcolSelectedReadOnly(boolean value)
  		{
  			super.row.setReadOnly(1, value);
  		}
  		public boolean iscolSelectedReadOnly()
  		{
  			return super.row.isReadOnly(1);
  		}
  		public void showcolSelectedOpened()
  		{
  			super.row.showOpened(1);
  		}
  		public boolean getcolSelected()
  		{
  			return ((Boolean)super.row.get(1)).booleanValue();
  		}
  		public void setcolSelected(boolean value)
  		{
  			super.row.set(1, new Boolean(value));
  		}
  		public void setCellcolSelectedTooltip(String value)
  		{
  			super.row.setTooltip(1, value);
  		}
  		public ims.scheduling.vo.lookups.CancelAppointmentReason getValue()
  		{
  			return (ims.scheduling.vo.lookups.CancelAppointmentReason)super.row.getValue();
  		}
  		public void setValue(ims.scheduling.vo.lookups.CancelAppointmentReason value)
  		{
  			super.row.setValue(value);
  		}
  	}
  	public static class grdCancellationReasonsRowCollection extends GridRowCollectionBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		private grdCancellationReasonsRowCollection(GridRowCollection collection)
  		{
  			super(collection);
  		}
  		public grdCancellationReasonsRow get(int index)
  		{
  			return new grdCancellationReasonsRow(super.collection.get(index));
  		}
  		public grdCancellationReasonsRow newRow()
  		{
  			return new grdCancellationReasonsRow(super.collection.newRow());
  		}
  		public grdCancellationReasonsRow newRow(boolean autoSelect)
  		{
  			return new grdCancellationReasonsRow(super.collection.newRow(autoSelect));
  		}
  		public grdCancellationReasonsRow newRowAt(int index)
  		{
  			return new grdCancellationReasonsRow(super.collection.newRowAt(index));
  		}
  		public grdCancellationReasonsRow newRowAt(int index, boolean autoSelect)
  		{
  			return new grdCancellationReasonsRow(super.collection.newRowAt(index, autoSelect));
  		}
  	}
  	public static class grdCancellationReasonsGrid extends GridBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		private void addStringColumn(String caption, int captionAlignment, int alignment, int width, boolean readOnly, boolean bold, int sortOrder, int maxLength, boolean canGrow, ims.framework.enumerations.CharacterCasing casing)
  		{
  			super.grid.addStringColumn(caption, captionAlignment, alignment, width, readOnly, bold, sortOrder, maxLength, canGrow, casing);
  		}
  		private void addBoolColumn(String caption, int captionAlignment, int alignment, int width, boolean readOnly, boolean autoPostBack, int sortOrder, boolean canGrow)
  		{
  			super.grid.addBoolColumn(caption, captionAlignment, alignment, width, readOnly, autoPostBack, sortOrder, canGrow);
  		}
  		public ims.scheduling.vo.lookups.CancelAppointmentReason[] getValues()
  		{
  			ims.scheduling.vo.lookups.CancelAppointmentReason[] listOfValues = new ims.scheduling.vo.lookups.CancelAppointmentReason[this.getRows().size()];
  			for(int x = 0; x < this.getRows().size(); x++)
  			{
  				listOfValues[x] = this.getRows().get(x).getValue();
  			}
  			return listOfValues;
  		}
  		public ims.scheduling.vo.lookups.CancelAppointmentReason getValue()
  		{
  			return (ims.scheduling.vo.lookups.CancelAppointmentReason)super.grid.getValue();
  		}
  		public void setValue(ims.scheduling.vo.lookups.CancelAppointmentReason value)
  		{
  			super.grid.setValue(value);
  		}
  		public grdCancellationReasonsRow getSelectedRow()
  		{
  			return super.grid.getSelectedRow() == null ? null : new grdCancellationReasonsRow(super.grid.getSelectedRow());
  		}
  		public int getSelectedRowIndex()
  		{
  			return super.grid.getSelectedRowIndex();
  		}
  		public grdCancellationReasonsRowCollection getRows()
  		{
  			return new grdCancellationReasonsRowCollection(super.grid.getRows());
  		}
  		public grdCancellationReasonsRow getRowByValue(ims.scheduling.vo.lookups.CancelAppointmentReason value)
  		{
  			GridRow row = super.grid.getRowByValue(value);
  			return row == null?null:new grdCancellationReasonsRow(row);
  		}
  		public void setcolCancellationReasonHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(0, value);
  		}
  		public String getcolCancellationReasonHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(0);
  		}
  		public void setcolSelectedHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(1, value);
  		}
  		public String getcolSelectedHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(1);
  		}
  	}
  	public boolean supportsRecordedInError()
  	{
  		return false;
  	}
  	public ims.vo.ValueObject getRecordedInErrorVo()
  	{
  		return null;
  	}
  	protected void setContext(FormLoader loader, Form form, ims.framework.interfaces.IAppForm appForm, UIFactory factory, Context context) throws Exception
  	{
  		setContext(loader, form, appForm, factory, context, Boolean.FALSE, new Integer(0), null, null, new Integer(0));
  	}
  	protected void setContext(FormLoader loader, Form form, ims.framework.interfaces.IAppForm appForm, UIFactory factory, Context context, Boolean skipContextValidation) throws Exception
  	{
  		setContext(loader, form, appForm, factory, context, skipContextValidation, new Integer(0), null, null, new Integer(0));
  	}
  	protected void setContext(FormLoader loader, Form form, ims.framework.interfaces.IAppForm appForm, UIFactory factory, ims.framework.Context context, Boolean skipContextValidation, Integer startControlID, ims.framework.utils.SizeInfo runtimeSize, ims.framework.Control control, Integer startTabIndex) throws Exception
  	{
  		if(loader == null); // this is to avoid eclipse warning only.
  		if(factory == null); // this is to avoid eclipse warning only.
  		if(runtimeSize == null); // this is to avoid eclipse warning only.
  		if(appForm == null)
  			throw new RuntimeException("Invalid application form");
  		if(startControlID == null)
  			throw new RuntimeException("Invalid startControlID");
  		if(control == null); // this is to avoid eclipse warning only.
  		if(startTabIndex == null)
  			throw new RuntimeException("Invalid startTabIndex");
  		this.context = context;
  