BaseColumnConverterImpl implements BaseColumnConverter { protected GridColumn<?> newSingleSelectionEnumColumn(final String factType, final String factField, final DataType.DataTypes dataType, final BaseColumn column, final GuidedDecisionTablePresenter.Access access, final GuidedDecisionTableView gridWidget) { if (dataType.equals(DataType.DataTypes.NUMERIC)) { return new EnumSingleSelectNumericUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxNumericSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxNumericSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.NUMERIC_BIGDECIMAL)) { return new EnumSingleSelectBigDecimalUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxBigDecimalSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxBigDecimalSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.NUMERIC_BIGINTEGER)) { return new EnumSingleSelectBigIntegerUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxBigIntegerSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxBigIntegerSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.NUMERIC_BYTE)) { return new EnumSingleSelectByteUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxByteSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxByteSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.NUMERIC_DOUBLE)) { return new EnumSingleSelectDoubleUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxDoubleSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxDoubleSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.NUMERIC_FLOAT)) { return new EnumSingleSelectFloatUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxFloatSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxFloatSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.NUMERIC_INTEGER)) { return new EnumSingleSelectIntegerUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxIntegerSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxIntegerSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.NUMERIC_LONG)) { return new EnumSingleSelectLongUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxLongSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxLongSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.NUMERIC_SHORT)) { return new EnumSingleSelectShortUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxShortSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxShortSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.BOOLEAN)) { return new EnumSingleSelectBooleanUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxBooleanSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxBooleanSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else if (dataType.equals(DataType.DataTypes.DATE)) { return new EnumSingleSelectDateUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxDateSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new DatePickerSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } else { return new EnumSingleSelectStringUiColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, !column.isHideColumn(), access, new ListBoxStringSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), new TextBoxStringSingletonDOMElementFactory(gridPanel, gridLayer, gridWidget), presenter, factType, factField); } }  @Override int priority(); @Override void initialise(final GuidedDecisionTable52 model,
                           final AsyncPackageDataModelOracle oracle,
                           final ColumnUtilities columnUtilities,
                           final GuidedDecisionTableView.Presenter presenter);  }
@Test public void newSingleSelectionEnumColumnReturnsEnumSingleSelectBooleanUiColumn() { assertTrue(getConverter().newSingleSelectionEnumColumn("FactType", "factField", DataType.DataTypes.BOOLEAN, mock(BaseColumn.class), mock(GuidedDecisionTablePresenter.Access.class), mock(GuidedDecisionTableView.class)) instanceof EnumSingleSelectBooleanUiColumn); }