Example usage for javafx.scene.control TableView TableView

List of usage examples for javafx.scene.control TableView TableView

Introduction

In this page you can find the example usage for javafx.scene.control TableView TableView.

Prototype

public TableView() 

Source Link

Document

Creates a default TableView control with no content.

Usage

From source file:net.sourceforge.msscodefactory.cfbam.v2_7.CFBamJavaFX.CFBamJavaFXValueListPane.java

public CFBamJavaFXValueListPane(ICFFormManager formManager, ICFBamJavaFXSchema argSchema,
        ICFBamScopeObj argContainer, ICFBamValueObj argFocus, Collection<ICFBamValueObj> argDataCollection,
        ICFRefreshCallback refreshCallback, boolean sortByChain) {
    super();/*from w ww . java 2 s .co m*/
    final String S_ProcName = "construct-schema-focus";
    if (formManager == null) {
        throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 1,
                "formManager");
    }
    cfFormManager = formManager;
    if (argSchema == null) {
        throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 2,
                "argSchema");
    }
    // argFocus is optional; focus may be set later during execution as
    // conditions of the runtime change.
    javafxSchema = argSchema;
    javaFXFocus = argFocus;
    javafxContainer = argContainer;
    javafxRefreshCallback = refreshCallback;
    javafxSortByChain = sortByChain;
    setJavaFXDataCollection(argDataCollection);
    dataTable = new TableView<ICFBamValueObj>();
    tableColumnObjKind = new TableColumn<ICFBamValueObj, String>("Class Code");
    tableColumnObjKind.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, String>, ObservableValue<String>>() {
                @Override
                public ObservableValue<String> call(CellDataFeatures<ICFBamValueObj, String> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String classCode = obj.getClassCode();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(classCode);
                        return (observable);
                    }
                }
            });
    tableColumnObjKind.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, String>, TableCell<ICFBamValueObj, String>>() {
                @Override
                public TableCell<ICFBamValueObj, String> call(TableColumn<ICFBamValueObj, String> arg) {
                    return new CFStringTableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnObjKind);
    tableColumnId = new TableColumn<ICFBamValueObj, Long>("Id");
    tableColumnId
            .setCellValueFactory(new Callback<CellDataFeatures<ICFBamValueObj, Long>, ObservableValue<Long>>() {
                public ObservableValue<Long> call(CellDataFeatures<ICFBamValueObj, Long> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        long value = obj.getRequiredId();
                        Long wrapped = new Long(value);
                        ReadOnlyObjectWrapper<Long> observable = new ReadOnlyObjectWrapper<Long>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnId
            .setCellFactory(new Callback<TableColumn<ICFBamValueObj, Long>, TableCell<ICFBamValueObj, Long>>() {
                @Override
                public TableCell<ICFBamValueObj, Long> call(TableColumn<ICFBamValueObj, Long> arg) {
                    return new CFInt64TableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnId);
    tableColumnName = new TableColumn<ICFBamValueObj, String>("Name");
    tableColumnName.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamValueObj, String> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getRequiredName();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnName.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, String>, TableCell<ICFBamValueObj, String>>() {
                @Override
                public TableCell<ICFBamValueObj, String> call(TableColumn<ICFBamValueObj, String> arg) {
                    return new CFStringTableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnName);
    tableColumnShortName = new TableColumn<ICFBamValueObj, String>("Short Name");
    tableColumnShortName.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamValueObj, String> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalShortName();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnShortName.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, String>, TableCell<ICFBamValueObj, String>>() {
                @Override
                public TableCell<ICFBamValueObj, String> call(TableColumn<ICFBamValueObj, String> arg) {
                    return new CFStringTableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnShortName);
    tableColumnLabel = new TableColumn<ICFBamValueObj, String>("Label");
    tableColumnLabel.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamValueObj, String> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalLabel();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnLabel.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, String>, TableCell<ICFBamValueObj, String>>() {
                @Override
                public TableCell<ICFBamValueObj, String> call(TableColumn<ICFBamValueObj, String> arg) {
                    return new CFStringTableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLabel);
    tableColumnShortDescription = new TableColumn<ICFBamValueObj, String>("Short Description");
    tableColumnShortDescription.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamValueObj, String> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalShortDescription();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnShortDescription.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, String>, TableCell<ICFBamValueObj, String>>() {
                @Override
                public TableCell<ICFBamValueObj, String> call(TableColumn<ICFBamValueObj, String> arg) {
                    return new CFStringTableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnShortDescription);
    tableColumnDescription = new TableColumn<ICFBamValueObj, String>("Description");
    tableColumnDescription.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamValueObj, String> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalDescription();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnDescription.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, String>, TableCell<ICFBamValueObj, String>>() {
                @Override
                public TableCell<ICFBamValueObj, String> call(TableColumn<ICFBamValueObj, String> arg) {
                    return new CFStringTableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnDescription);
    tableColumnIsNullable = new TableColumn<ICFBamValueObj, Boolean>("Is Nullable");
    tableColumnIsNullable.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamValueObj, Boolean> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredIsNullable();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnIsNullable.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, Boolean>, TableCell<ICFBamValueObj, Boolean>>() {
                @Override
                public TableCell<ICFBamValueObj, Boolean> call(TableColumn<ICFBamValueObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnIsNullable);
    tableColumnGenerateId = new TableColumn<ICFBamValueObj, Boolean>("Generate Id");
    tableColumnGenerateId.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamValueObj, Boolean> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        Boolean value = obj.getOptionalGenerateId();
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnGenerateId.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, Boolean>, TableCell<ICFBamValueObj, Boolean>>() {
                @Override
                public TableCell<ICFBamValueObj, Boolean> call(TableColumn<ICFBamValueObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnGenerateId);
    tableColumnDefaultVisibility = new TableColumn<ICFBamValueObj, Boolean>("Default Visibility");
    tableColumnDefaultVisibility.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamValueObj, Boolean> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredDefaultVisibility();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnDefaultVisibility.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, Boolean>, TableCell<ICFBamValueObj, Boolean>>() {
                @Override
                public TableCell<ICFBamValueObj, Boolean> call(TableColumn<ICFBamValueObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamValueObj>();
                }
            });
    dataTable.getColumns().add(tableColumnDefaultVisibility);
    tableColumnLookupDefSchema = new TableColumn<ICFBamValueObj, ICFBamSchemaDefObj>(
            "Defining Schema Definition");
    tableColumnLookupDefSchema.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamValueObj, ICFBamSchemaDefObj>, ObservableValue<ICFBamSchemaDefObj>>() {
                public ObservableValue<ICFBamSchemaDefObj> call(
                        CellDataFeatures<ICFBamValueObj, ICFBamSchemaDefObj> p) {
                    ICFBamValueObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamSchemaDefObj ref = obj.getOptionalLookupDefSchema();
                        ReadOnlyObjectWrapper<ICFBamSchemaDefObj> observable = new ReadOnlyObjectWrapper<ICFBamSchemaDefObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupDefSchema.setCellFactory(
            new Callback<TableColumn<ICFBamValueObj, ICFBamSchemaDefObj>, TableCell<ICFBamValueObj, ICFBamSchemaDefObj>>() {
                @Override
                public TableCell<ICFBamValueObj, ICFBamSchemaDefObj> call(
                        TableColumn<ICFBamValueObj, ICFBamSchemaDefObj> arg) {
                    return new CFReferenceTableCell<ICFBamValueObj, ICFBamSchemaDefObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupDefSchema);
    dataTable.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<ICFBamValueObj>() {
        @Override
        public void changed(ObservableValue<? extends ICFBamValueObj> observable, ICFBamValueObj oldValue,
                ICFBamValueObj newValue) {
            setJavaFXFocus(newValue);
        }
    });

    scrollMenu = new ScrollPane();
    scrollMenu.setVbarPolicy(ScrollBarPolicy.NEVER);
    scrollMenu.setHbarPolicy(ScrollBarPolicy.AS_NEEDED);
    scrollMenu.setFitToHeight(true);
    scrollMenu.setContent(getPanelHBoxMenu());

    setTop(scrollMenu);
    setCenter(dataTable);
    javafxIsInitializing = false;
    if (observableListOfValue != null) {
        dataTable.setItems(observableListOfValue);
    }
    adjustListButtons();
}

From source file:net.sourceforge.msscodefactory.cfbam.v2_7.CFBamJavaFX.CFBamJavaFXTablePickerPane.java

public CFBamJavaFXTablePickerPane(ICFFormManager formManager, ICFBamJavaFXSchema argSchema,
        ICFBamTableObj argFocus, ICFBamSchemaDefObj argContainer, Collection<ICFBamTableObj> argDataCollection,
        ICFBamJavaFXTableChosen whenChosen) {
    super();/*  w  w  w . java2 s.co m*/
    final String S_ProcName = "construct-schema-focus";
    if (formManager == null) {
        throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 1,
                "formManager");
    }
    cfFormManager = formManager;
    if (argSchema == null) {
        throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 2,
                "argSchema");
    }
    if (whenChosen == null) {
        throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 6,
                "whenChosen");
    }
    invokeWhenChosen = whenChosen;
    // argFocus is optional; focus may be set later during execution as
    // conditions of the runtime change.
    javafxSchema = argSchema;
    javaFXFocus = argFocus;
    javafxContainer = argContainer;
    setJavaFXDataCollection(argDataCollection);
    dataTable = new TableView<ICFBamTableObj>();
    tableColumnId = new TableColumn<ICFBamTableObj, Long>("Id");
    tableColumnId
            .setCellValueFactory(new Callback<CellDataFeatures<ICFBamTableObj, Long>, ObservableValue<Long>>() {
                public ObservableValue<Long> call(CellDataFeatures<ICFBamTableObj, Long> p) {
                    ICFBamScopeObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        long value = obj.getRequiredId();
                        Long wrapped = new Long(value);
                        ReadOnlyObjectWrapper<Long> observable = new ReadOnlyObjectWrapper<Long>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnId
            .setCellFactory(new Callback<TableColumn<ICFBamTableObj, Long>, TableCell<ICFBamTableObj, Long>>() {
                @Override
                public TableCell<ICFBamTableObj, Long> call(TableColumn<ICFBamTableObj, Long> arg) {
                    return new CFInt64TableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnId);
    tableColumnName = new TableColumn<ICFBamTableObj, String>("Name");
    tableColumnName.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getRequiredName();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnName.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnName);
    tableColumnDbName = new TableColumn<ICFBamTableObj, String>("Db Name");
    tableColumnDbName.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalDbName();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnDbName.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnDbName);
    tableColumnShortName = new TableColumn<ICFBamTableObj, String>("Short Name");
    tableColumnShortName.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalShortName();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnShortName.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnShortName);
    tableColumnLabel = new TableColumn<ICFBamTableObj, String>("Label");
    tableColumnLabel.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalLabel();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnLabel.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLabel);
    tableColumnShortDescription = new TableColumn<ICFBamTableObj, String>("Short Description");
    tableColumnShortDescription.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalShortDescription();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnShortDescription.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnShortDescription);
    tableColumnDescription = new TableColumn<ICFBamTableObj, String>("Description");
    tableColumnDescription.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalDescription();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnDescription.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnDescription);
    tableColumnPageData = new TableColumn<ICFBamTableObj, Boolean>("PageData");
    tableColumnPageData.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredPageData();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnPageData.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnPageData);
    tableColumnTableClassCode = new TableColumn<ICFBamTableObj, String>("Table Class Code");
    tableColumnTableClassCode.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getRequiredTableClassCode();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnTableClassCode.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnTableClassCode);
    tableColumnPolyBase = new TableColumn<ICFBamTableObj, Boolean>("Polymorphic Base");
    tableColumnPolyBase.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredPolyBase();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnPolyBase.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnPolyBase);
    tableColumnIsInstantiable = new TableColumn<ICFBamTableObj, Boolean>("Is Instantiable");
    tableColumnIsInstantiable.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredIsInstantiable();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnIsInstantiable.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnIsInstantiable);
    tableColumnHasHistory = new TableColumn<ICFBamTableObj, Boolean>("Has History");
    tableColumnHasHistory.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredHasHistory();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnHasHistory.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnHasHistory);
    tableColumnHasAuditColumns = new TableColumn<ICFBamTableObj, Boolean>("Has Audit Columns");
    tableColumnHasAuditColumns.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredHasAuditColumns();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnHasAuditColumns.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnHasAuditColumns);
    tableColumnLoaderBehaviour = new TableColumn<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>(
            "Loader Behaviour");
    tableColumnLoaderBehaviour.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>, ObservableValue<ICFBamSchema.LoaderBehaviourEnum>>() {
                public ObservableValue<ICFBamSchema.LoaderBehaviourEnum> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamSchema.LoaderBehaviourEnum value = obj.getRequiredLoaderBehaviour();
                        ReadOnlyObjectWrapper<ICFBamSchema.LoaderBehaviourEnum> observable = new ReadOnlyObjectWrapper<ICFBamSchema.LoaderBehaviourEnum>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnLoaderBehaviour.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>, TableCell<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum> call(
                        TableColumn<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum> arg) {
                    return new CFEnumTableCell<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>();
                }
            });
    dataTable.getColumns().add(tableColumnLoaderBehaviour);
    tableColumnSecurityScope = new TableColumn<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>(
            "Security Scope");
    tableColumnSecurityScope.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>, ObservableValue<ICFBamSchema.SecurityScopeEnum>>() {
                public ObservableValue<ICFBamSchema.SecurityScopeEnum> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamSchema.SecurityScopeEnum value = obj.getRequiredSecurityScope();
                        ReadOnlyObjectWrapper<ICFBamSchema.SecurityScopeEnum> observable = new ReadOnlyObjectWrapper<ICFBamSchema.SecurityScopeEnum>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnSecurityScope.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>, TableCell<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum> call(
                        TableColumn<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum> arg) {
                    return new CFEnumTableCell<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>();
                }
            });
    dataTable.getColumns().add(tableColumnSecurityScope);
    tableColumnJObjMembers = new TableColumn<ICFBamTableObj, String>("JObjMembers");
    tableColumnJObjMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJObjMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJObjMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJObjMembers);
    tableColumnJObjInterface = new TableColumn<ICFBamTableObj, String>("JObjInterface");
    tableColumnJObjInterface.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJObjInterface();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJObjInterface.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJObjInterface);
    tableColumnJObjImport = new TableColumn<ICFBamTableObj, String>("JObjImport");
    tableColumnJObjImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJObjImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJObjImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJObjImport);
    tableColumnJObjImplementation = new TableColumn<ICFBamTableObj, String>("JObjImplementation");
    tableColumnJObjImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJObjImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJObjImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJObjImplementation);
    tableColumnJEditObjMembers = new TableColumn<ICFBamTableObj, String>("JEditObjMembers");
    tableColumnJEditObjMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJEditObjMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJEditObjMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJEditObjMembers);
    tableColumnJEditObjInterface = new TableColumn<ICFBamTableObj, String>("JEditObjInterface");
    tableColumnJEditObjInterface.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJEditObjInterface();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJEditObjInterface.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJEditObjInterface);
    tableColumnJEditObjImport = new TableColumn<ICFBamTableObj, String>("JEditObjImport");
    tableColumnJEditObjImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJEditObjImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJEditObjImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJEditObjImport);
    tableColumnJEditObjImplementation = new TableColumn<ICFBamTableObj, String>("JEditObjImplementation");
    tableColumnJEditObjImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJEditObjImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJEditObjImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJEditObjImplementation);
    tableColumnJTableImport = new TableColumn<ICFBamTableObj, String>("JTableImport");
    tableColumnJTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableImport);
    tableColumnJTableMembers = new TableColumn<ICFBamTableObj, String>("JTableMembers");
    tableColumnJTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableMembers);
    tableColumnJTableInterface = new TableColumn<ICFBamTableObj, String>("JTableInterface");
    tableColumnJTableInterface.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableInterface();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableInterface.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableInterface);
    tableColumnJTableImplementation = new TableColumn<ICFBamTableObj, String>("JTableImplementation");
    tableColumnJTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableImplementation);
    tableColumnJTableObjImport = new TableColumn<ICFBamTableObj, String>("JTableObjImport");
    tableColumnJTableObjImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableObjImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableObjImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableObjImport);
    tableColumnJTableObjMembers = new TableColumn<ICFBamTableObj, String>("JTableObjMembers");
    tableColumnJTableObjMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableObjMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableObjMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableObjMembers);
    tableColumnJTableObjInterface = new TableColumn<ICFBamTableObj, String>("JTableObjInterface");
    tableColumnJTableObjInterface.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableObjInterface();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableObjInterface.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableObjInterface);
    tableColumnJTableObjImplementation = new TableColumn<ICFBamTableObj, String>("JTableObjImplementation");
    tableColumnJTableObjImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableObjImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableObjImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableObjImplementation);
    tableColumnJDb2LUWTableImport = new TableColumn<ICFBamTableObj, String>("JDb2LUWTableImport");
    tableColumnJDb2LUWTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJDb2LUWTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJDb2LUWTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJDb2LUWTableImport);
    tableColumnJDb2LUWTableMembers = new TableColumn<ICFBamTableObj, String>("JDb2LUWTableMembers");
    tableColumnJDb2LUWTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJDb2LUWTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJDb2LUWTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJDb2LUWTableMembers);
    tableColumnJDb2LUWTableImplementation = new TableColumn<ICFBamTableObj, String>(
            "JDb2LUWTableImplementation");
    tableColumnJDb2LUWTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJDb2LUWTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJDb2LUWTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJDb2LUWTableImplementation);
    tableColumnJMSSqlTableImport = new TableColumn<ICFBamTableObj, String>("JMSSqlTableImport");
    tableColumnJMSSqlTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMSSqlTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMSSqlTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMSSqlTableImport);
    tableColumnJMSSqlTableMembers = new TableColumn<ICFBamTableObj, String>("JMSSqlTableMembers");
    tableColumnJMSSqlTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMSSqlTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMSSqlTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMSSqlTableMembers);
    tableColumnJMSSqlTableImplementation = new TableColumn<ICFBamTableObj, String>("JMSSqlTableImplementation");
    tableColumnJMSSqlTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMSSqlTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMSSqlTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMSSqlTableImplementation);
    tableColumnJMySqlTableImport = new TableColumn<ICFBamTableObj, String>("JMySqlTableImport");
    tableColumnJMySqlTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMySqlTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMySqlTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMySqlTableImport);
    tableColumnJMySqlTableMembers = new TableColumn<ICFBamTableObj, String>("JMySqlTableMembers");
    tableColumnJMySqlTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMySqlTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMySqlTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMySqlTableMembers);
    tableColumnJMySqlTableImplementation = new TableColumn<ICFBamTableObj, String>("JMySqlTableImplementation");
    tableColumnJMySqlTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMySqlTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMySqlTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMySqlTableImplementation);
    tableColumnJOracleTableImport = new TableColumn<ICFBamTableObj, String>("JOracleTableImport");
    tableColumnJOracleTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJOracleTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJOracleTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJOracleTableImport);
    tableColumnJOracleTableMembers = new TableColumn<ICFBamTableObj, String>("JOracleTableMembers");
    tableColumnJOracleTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJOracleTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJOracleTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJOracleTableMembers);
    tableColumnJOracleTableImplementation = new TableColumn<ICFBamTableObj, String>(
            "JOracleTableImplementation");
    tableColumnJOracleTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJOracleTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJOracleTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJOracleTableImplementation);
    tableColumnJPgSqlTableImport = new TableColumn<ICFBamTableObj, String>("JPgSqlTableImport");
    tableColumnJPgSqlTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJPgSqlTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJPgSqlTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJPgSqlTableImport);
    tableColumnJPgSqlTableMembers = new TableColumn<ICFBamTableObj, String>("JPgSqlTableMembers");
    tableColumnJPgSqlTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJPgSqlTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJPgSqlTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJPgSqlTableMembers);
    tableColumnJPgSqlTableImplementation = new TableColumn<ICFBamTableObj, String>("JPgSqlTableImplementation");
    tableColumnJPgSqlTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJPgSqlTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJPgSqlTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJPgSqlTableImplementation);
    tableColumnJSybaseTableImport = new TableColumn<ICFBamTableObj, String>("JSybaseTableImport");
    tableColumnJSybaseTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSybaseTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSybaseTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSybaseTableImport);
    tableColumnJSybaseTableMembers = new TableColumn<ICFBamTableObj, String>("JSybaseTableMembers");
    tableColumnJSybaseTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSybaseTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSybaseTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSybaseTableMembers);
    tableColumnJSybaseTableImplementation = new TableColumn<ICFBamTableObj, String>(
            "JSybaseTableImplementation");
    tableColumnJSybaseTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSybaseTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSybaseTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSybaseTableImplementation);
    tableColumnJRamTableImport = new TableColumn<ICFBamTableObj, String>("JRamTableImport");
    tableColumnJRamTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJRamTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJRamTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJRamTableImport);
    tableColumnJRamTableMembers = new TableColumn<ICFBamTableObj, String>("JRamTableMembers");
    tableColumnJRamTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJRamTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJRamTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJRamTableMembers);
    tableColumnJRamTableImplementation = new TableColumn<ICFBamTableObj, String>("JRamTableImplementation");
    tableColumnJRamTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJRamTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJRamTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJRamTableImplementation);
    tableColumnJSaxLoaderImport = new TableColumn<ICFBamTableObj, String>("JSaxLoaderImport");
    tableColumnJSaxLoaderImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSaxLoaderImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSaxLoaderImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSaxLoaderImport);
    tableColumnJSaxLoaderStartElement = new TableColumn<ICFBamTableObj, String>("JSaxLoaderStartElement");
    tableColumnJSaxLoaderStartElement.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSaxLoaderStartElement();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSaxLoaderStartElement.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSaxLoaderStartElement);
    tableColumnJSaxLoaderEndElement = new TableColumn<ICFBamTableObj, String>("JSaxLoaderEndElement");
    tableColumnJSaxLoaderEndElement.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSaxLoaderEndElement();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSaxLoaderEndElement.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSaxLoaderEndElement);
    tableColumnJXMsgTableImport = new TableColumn<ICFBamTableObj, String>("JXMsgTableImport");
    tableColumnJXMsgTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgTableImport);
    tableColumnJXMsgTableFormatters = new TableColumn<ICFBamTableObj, String>("JXMsgTableFormatters");
    tableColumnJXMsgTableFormatters.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgTableFormatters();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgTableFormatters.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgTableFormatters);
    tableColumnJXMsgRqstTableImport = new TableColumn<ICFBamTableObj, String>("JXMsgRqstTableImport");
    tableColumnJXMsgRqstTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgRqstTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgRqstTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgRqstTableImport);
    tableColumnJXMsgRspnTableImport = new TableColumn<ICFBamTableObj, String>("JXMsgRspnTableImport");
    tableColumnJXMsgRspnTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgRspnTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgRspnTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgRspnTableImport);
    tableColumnJXMsgClientTableImport = new TableColumn<ICFBamTableObj, String>("JXMsgClientTableImport");
    tableColumnJXMsgClientTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgClientTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgClientTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgClientTableImport);
    tableColumnJXMsgRqstTableBody = new TableColumn<ICFBamTableObj, String>("JXMsgRqstTableBody");
    tableColumnJXMsgRqstTableBody.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgRqstTableBody();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgRqstTableBody.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgRqstTableBody);
    tableColumnJXMsgRspnTableBody = new TableColumn<ICFBamTableObj, String>("JXMsgRspnTableBody");
    tableColumnJXMsgRspnTableBody.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgRspnTableBody();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgRspnTableBody.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgRspnTableBody);
    tableColumnJXMsgClientTableBody = new TableColumn<ICFBamTableObj, String>("JXMsgClientTableBody");
    tableColumnJXMsgClientTableBody.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgClientTableBody();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgClientTableBody.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgClientTableBody);
    tableColumnDefaultVisibility = new TableColumn<ICFBamTableObj, Boolean>("DefaultVisibility");
    tableColumnDefaultVisibility.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredDefaultVisibility();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnDefaultVisibility.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnDefaultVisibility);
    tableColumnLookupDefSchema = new TableColumn<ICFBamTableObj, ICFBamSchemaDefObj>(
            "Defining Schema Definition");
    tableColumnLookupDefSchema.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamSchemaDefObj>, ObservableValue<ICFBamSchemaDefObj>>() {
                public ObservableValue<ICFBamSchemaDefObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamSchemaDefObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamSchemaDefObj ref = obj.getOptionalLookupDefSchema();
                        ReadOnlyObjectWrapper<ICFBamSchemaDefObj> observable = new ReadOnlyObjectWrapper<ICFBamSchemaDefObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupDefSchema.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamSchemaDefObj>, TableCell<ICFBamTableObj, ICFBamSchemaDefObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamSchemaDefObj> call(
                        TableColumn<ICFBamTableObj, ICFBamSchemaDefObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamSchemaDefObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupDefSchema);
    tableColumnLookupLookupIndex = new TableColumn<ICFBamTableObj, ICFBamIndexObj>("Lookup Index");
    tableColumnLookupLookupIndex.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamIndexObj>, ObservableValue<ICFBamIndexObj>>() {
                public ObservableValue<ICFBamIndexObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamIndexObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamIndexObj ref = obj.getOptionalLookupLookupIndex();
                        ReadOnlyObjectWrapper<ICFBamIndexObj> observable = new ReadOnlyObjectWrapper<ICFBamIndexObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupLookupIndex.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamIndexObj>, TableCell<ICFBamTableObj, ICFBamIndexObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamIndexObj> call(
                        TableColumn<ICFBamTableObj, ICFBamIndexObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamIndexObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupLookupIndex);
    tableColumnLookupAltIndex = new TableColumn<ICFBamTableObj, ICFBamIndexObj>("Alt Index");
    tableColumnLookupAltIndex.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamIndexObj>, ObservableValue<ICFBamIndexObj>>() {
                public ObservableValue<ICFBamIndexObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamIndexObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamIndexObj ref = obj.getOptionalLookupAltIndex();
                        ReadOnlyObjectWrapper<ICFBamIndexObj> observable = new ReadOnlyObjectWrapper<ICFBamIndexObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupAltIndex.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamIndexObj>, TableCell<ICFBamTableObj, ICFBamIndexObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamIndexObj> call(
                        TableColumn<ICFBamTableObj, ICFBamIndexObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamIndexObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupAltIndex);
    tableColumnLookupQualTable = new TableColumn<ICFBamTableObj, ICFBamTableObj>("Qualifying Table");
    tableColumnLookupQualTable.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamTableObj>, ObservableValue<ICFBamTableObj>>() {
                public ObservableValue<ICFBamTableObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamTableObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamTableObj ref = obj.getOptionalLookupQualTable();
                        ReadOnlyObjectWrapper<ICFBamTableObj> observable = new ReadOnlyObjectWrapper<ICFBamTableObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupQualTable.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamTableObj>, TableCell<ICFBamTableObj, ICFBamTableObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamTableObj> call(
                        TableColumn<ICFBamTableObj, ICFBamTableObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupQualTable);
    tableColumnLookupPrimaryIndex = new TableColumn<ICFBamTableObj, ICFBamIndexObj>("Primary Index");
    tableColumnLookupPrimaryIndex.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamIndexObj>, ObservableValue<ICFBamIndexObj>>() {
                public ObservableValue<ICFBamIndexObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamIndexObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamIndexObj ref = obj.getOptionalLookupPrimaryIndex();
                        ReadOnlyObjectWrapper<ICFBamIndexObj> observable = new ReadOnlyObjectWrapper<ICFBamIndexObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupPrimaryIndex.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamIndexObj>, TableCell<ICFBamTableObj, ICFBamIndexObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamIndexObj> call(
                        TableColumn<ICFBamTableObj, ICFBamIndexObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamIndexObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupPrimaryIndex);
    dataTable.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<ICFBamTableObj>() {
        @Override
        public void changed(ObservableValue<? extends ICFBamTableObj> observable, ICFBamTableObj oldValue,
                ICFBamTableObj newValue) {
            setJavaFXFocus(newValue);
            if (buttonChooseSelected != null) {
                if (newValue != null) {
                    buttonChooseSelected.setDisable(false);
                } else {
                    buttonChooseSelected.setDisable(true);
                }
            }
        }
    });
    hboxMenu = new CFHBox(10);
    buttonCancel = new CFButton();
    buttonCancel.setMinWidth(200);
    buttonCancel.setText("Cancel");
    buttonCancel.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent e) {
            final String S_ProcName = "handle";
            try {
                cfFormManager.closeCurrentForm();
            } catch (Throwable t) {
                CFConsole.formException(S_FormName, ((CFButton) e.getSource()).getText(), t);
            }
        }
    });
    hboxMenu.getChildren().add(buttonCancel);
    buttonChooseNone = new CFButton();
    buttonChooseNone.setMinWidth(200);
    buttonChooseNone.setText("ChooseNone");
    buttonChooseNone.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent e) {
            final String S_ProcName = "handle";
            try {
                ICFBamSchemaObj schemaObj = (ICFBamSchemaObj) javafxSchema.getSchema();
                if (schemaObj == null) {
                    throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0,
                            "schemaObj");
                }
                invokeWhenChosen.choseTable(null);
                cfFormManager.closeCurrentForm();
            } catch (Throwable t) {
                CFConsole.formException(S_FormName, ((CFButton) e.getSource()).getText(), t);
            }
        }
    });
    hboxMenu.getChildren().add(buttonChooseNone);
    buttonChooseSelected = new CFButton();
    buttonChooseSelected.setMinWidth(200);
    buttonChooseSelected.setText("ChooseSelected");
    buttonChooseSelected.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent e) {
            final String S_ProcName = "handle";
            try {
                ICFBamSchemaObj schemaObj = (ICFBamSchemaObj) javafxSchema.getSchema();
                if (schemaObj == null) {
                    throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0,
                            "schemaObj");
                }
                ICFBamTableObj selectedInstance = getJavaFXFocusAsTable();
                invokeWhenChosen.choseTable(selectedInstance);
                cfFormManager.closeCurrentForm();
            } catch (Throwable t) {
                CFConsole.formException(S_FormName, ((CFButton) e.getSource()).getText(), t);
            }
        }
    });
    hboxMenu.getChildren().add(buttonChooseSelected);
    if (argFocus != null) {
        dataTable.getSelectionModel().select(argFocus);
    }
    setTop(hboxMenu);
    setCenter(dataTable);
}

From source file:net.sourceforge.msscodefactory.cfbam.v2_7.CFBamJavaFX.CFBamJavaFXTableListPane.java

public CFBamJavaFXTableListPane(ICFFormManager formManager, ICFBamJavaFXSchema argSchema,
        ICFBamSchemaDefObj argContainer, ICFBamTableObj argFocus, Collection<ICFBamTableObj> argDataCollection,
        ICFRefreshCallback refreshCallback, boolean sortByChain) {
    super();/*from  www  .ja  va2s .  c  o m*/
    final String S_ProcName = "construct-schema-focus";
    if (formManager == null) {
        throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 1,
                "formManager");
    }
    cfFormManager = formManager;
    if (argSchema == null) {
        throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 2,
                "argSchema");
    }
    // argFocus is optional; focus may be set later during execution as
    // conditions of the runtime change.
    javafxSchema = argSchema;
    javaFXFocus = argFocus;
    javafxContainer = argContainer;
    javafxRefreshCallback = refreshCallback;
    javafxSortByChain = sortByChain;
    setJavaFXDataCollection(argDataCollection);
    dataTable = new TableView<ICFBamTableObj>();
    tableColumnId = new TableColumn<ICFBamTableObj, Long>("Id");
    tableColumnId
            .setCellValueFactory(new Callback<CellDataFeatures<ICFBamTableObj, Long>, ObservableValue<Long>>() {
                public ObservableValue<Long> call(CellDataFeatures<ICFBamTableObj, Long> p) {
                    ICFBamScopeObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        long value = obj.getRequiredId();
                        Long wrapped = new Long(value);
                        ReadOnlyObjectWrapper<Long> observable = new ReadOnlyObjectWrapper<Long>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnId
            .setCellFactory(new Callback<TableColumn<ICFBamTableObj, Long>, TableCell<ICFBamTableObj, Long>>() {
                @Override
                public TableCell<ICFBamTableObj, Long> call(TableColumn<ICFBamTableObj, Long> arg) {
                    return new CFInt64TableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnId);
    tableColumnName = new TableColumn<ICFBamTableObj, String>("Name");
    tableColumnName.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getRequiredName();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnName.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnName);
    tableColumnDbName = new TableColumn<ICFBamTableObj, String>("Db Name");
    tableColumnDbName.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalDbName();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnDbName.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnDbName);
    tableColumnShortName = new TableColumn<ICFBamTableObj, String>("Short Name");
    tableColumnShortName.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalShortName();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnShortName.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnShortName);
    tableColumnLabel = new TableColumn<ICFBamTableObj, String>("Label");
    tableColumnLabel.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalLabel();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnLabel.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLabel);
    tableColumnShortDescription = new TableColumn<ICFBamTableObj, String>("Short Description");
    tableColumnShortDescription.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalShortDescription();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnShortDescription.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnShortDescription);
    tableColumnDescription = new TableColumn<ICFBamTableObj, String>("Description");
    tableColumnDescription.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalDescription();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnDescription.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnDescription);
    tableColumnPageData = new TableColumn<ICFBamTableObj, Boolean>("PageData");
    tableColumnPageData.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredPageData();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnPageData.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnPageData);
    tableColumnTableClassCode = new TableColumn<ICFBamTableObj, String>("Table Class Code");
    tableColumnTableClassCode.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getRequiredTableClassCode();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnTableClassCode.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFStringTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnTableClassCode);
    tableColumnPolyBase = new TableColumn<ICFBamTableObj, Boolean>("Polymorphic Base");
    tableColumnPolyBase.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredPolyBase();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnPolyBase.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnPolyBase);
    tableColumnIsInstantiable = new TableColumn<ICFBamTableObj, Boolean>("Is Instantiable");
    tableColumnIsInstantiable.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredIsInstantiable();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnIsInstantiable.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnIsInstantiable);
    tableColumnHasHistory = new TableColumn<ICFBamTableObj, Boolean>("Has History");
    tableColumnHasHistory.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredHasHistory();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnHasHistory.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnHasHistory);
    tableColumnHasAuditColumns = new TableColumn<ICFBamTableObj, Boolean>("Has Audit Columns");
    tableColumnHasAuditColumns.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredHasAuditColumns();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnHasAuditColumns.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnHasAuditColumns);
    tableColumnLoaderBehaviour = new TableColumn<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>(
            "Loader Behaviour");
    tableColumnLoaderBehaviour.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>, ObservableValue<ICFBamSchema.LoaderBehaviourEnum>>() {
                public ObservableValue<ICFBamSchema.LoaderBehaviourEnum> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamSchema.LoaderBehaviourEnum value = obj.getRequiredLoaderBehaviour();
                        ReadOnlyObjectWrapper<ICFBamSchema.LoaderBehaviourEnum> observable = new ReadOnlyObjectWrapper<ICFBamSchema.LoaderBehaviourEnum>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnLoaderBehaviour.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>, TableCell<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum> call(
                        TableColumn<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum> arg) {
                    return new CFEnumTableCell<ICFBamTableObj, ICFBamSchema.LoaderBehaviourEnum>();
                }
            });
    dataTable.getColumns().add(tableColumnLoaderBehaviour);
    tableColumnSecurityScope = new TableColumn<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>(
            "Security Scope");
    tableColumnSecurityScope.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>, ObservableValue<ICFBamSchema.SecurityScopeEnum>>() {
                public ObservableValue<ICFBamSchema.SecurityScopeEnum> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamSchema.SecurityScopeEnum value = obj.getRequiredSecurityScope();
                        ReadOnlyObjectWrapper<ICFBamSchema.SecurityScopeEnum> observable = new ReadOnlyObjectWrapper<ICFBamSchema.SecurityScopeEnum>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnSecurityScope.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>, TableCell<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum> call(
                        TableColumn<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum> arg) {
                    return new CFEnumTableCell<ICFBamTableObj, ICFBamSchema.SecurityScopeEnum>();
                }
            });
    dataTable.getColumns().add(tableColumnSecurityScope);
    tableColumnJObjMembers = new TableColumn<ICFBamTableObj, String>("JObjMembers");
    tableColumnJObjMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJObjMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJObjMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJObjMembers);
    tableColumnJObjInterface = new TableColumn<ICFBamTableObj, String>("JObjInterface");
    tableColumnJObjInterface.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJObjInterface();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJObjInterface.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJObjInterface);
    tableColumnJObjImport = new TableColumn<ICFBamTableObj, String>("JObjImport");
    tableColumnJObjImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJObjImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJObjImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJObjImport);
    tableColumnJObjImplementation = new TableColumn<ICFBamTableObj, String>("JObjImplementation");
    tableColumnJObjImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJObjImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJObjImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJObjImplementation);
    tableColumnJEditObjMembers = new TableColumn<ICFBamTableObj, String>("JEditObjMembers");
    tableColumnJEditObjMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJEditObjMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJEditObjMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJEditObjMembers);
    tableColumnJEditObjInterface = new TableColumn<ICFBamTableObj, String>("JEditObjInterface");
    tableColumnJEditObjInterface.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJEditObjInterface();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJEditObjInterface.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJEditObjInterface);
    tableColumnJEditObjImport = new TableColumn<ICFBamTableObj, String>("JEditObjImport");
    tableColumnJEditObjImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJEditObjImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJEditObjImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJEditObjImport);
    tableColumnJEditObjImplementation = new TableColumn<ICFBamTableObj, String>("JEditObjImplementation");
    tableColumnJEditObjImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJEditObjImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJEditObjImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJEditObjImplementation);
    tableColumnJTableImport = new TableColumn<ICFBamTableObj, String>("JTableImport");
    tableColumnJTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableImport);
    tableColumnJTableMembers = new TableColumn<ICFBamTableObj, String>("JTableMembers");
    tableColumnJTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableMembers);
    tableColumnJTableInterface = new TableColumn<ICFBamTableObj, String>("JTableInterface");
    tableColumnJTableInterface.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableInterface();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableInterface.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableInterface);
    tableColumnJTableImplementation = new TableColumn<ICFBamTableObj, String>("JTableImplementation");
    tableColumnJTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableImplementation);
    tableColumnJTableObjImport = new TableColumn<ICFBamTableObj, String>("JTableObjImport");
    tableColumnJTableObjImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableObjImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableObjImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableObjImport);
    tableColumnJTableObjMembers = new TableColumn<ICFBamTableObj, String>("JTableObjMembers");
    tableColumnJTableObjMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableObjMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableObjMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableObjMembers);
    tableColumnJTableObjInterface = new TableColumn<ICFBamTableObj, String>("JTableObjInterface");
    tableColumnJTableObjInterface.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableObjInterface();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableObjInterface.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableObjInterface);
    tableColumnJTableObjImplementation = new TableColumn<ICFBamTableObj, String>("JTableObjImplementation");
    tableColumnJTableObjImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJTableObjImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJTableObjImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJTableObjImplementation);
    tableColumnJDb2LUWTableImport = new TableColumn<ICFBamTableObj, String>("JDb2LUWTableImport");
    tableColumnJDb2LUWTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJDb2LUWTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJDb2LUWTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJDb2LUWTableImport);
    tableColumnJDb2LUWTableMembers = new TableColumn<ICFBamTableObj, String>("JDb2LUWTableMembers");
    tableColumnJDb2LUWTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJDb2LUWTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJDb2LUWTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJDb2LUWTableMembers);
    tableColumnJDb2LUWTableImplementation = new TableColumn<ICFBamTableObj, String>(
            "JDb2LUWTableImplementation");
    tableColumnJDb2LUWTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJDb2LUWTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJDb2LUWTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJDb2LUWTableImplementation);
    tableColumnJMSSqlTableImport = new TableColumn<ICFBamTableObj, String>("JMSSqlTableImport");
    tableColumnJMSSqlTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMSSqlTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMSSqlTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMSSqlTableImport);
    tableColumnJMSSqlTableMembers = new TableColumn<ICFBamTableObj, String>("JMSSqlTableMembers");
    tableColumnJMSSqlTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMSSqlTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMSSqlTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMSSqlTableMembers);
    tableColumnJMSSqlTableImplementation = new TableColumn<ICFBamTableObj, String>("JMSSqlTableImplementation");
    tableColumnJMSSqlTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMSSqlTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMSSqlTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMSSqlTableImplementation);
    tableColumnJMySqlTableImport = new TableColumn<ICFBamTableObj, String>("JMySqlTableImport");
    tableColumnJMySqlTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMySqlTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMySqlTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMySqlTableImport);
    tableColumnJMySqlTableMembers = new TableColumn<ICFBamTableObj, String>("JMySqlTableMembers");
    tableColumnJMySqlTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMySqlTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMySqlTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMySqlTableMembers);
    tableColumnJMySqlTableImplementation = new TableColumn<ICFBamTableObj, String>("JMySqlTableImplementation");
    tableColumnJMySqlTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJMySqlTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJMySqlTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJMySqlTableImplementation);
    tableColumnJOracleTableImport = new TableColumn<ICFBamTableObj, String>("JOracleTableImport");
    tableColumnJOracleTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJOracleTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJOracleTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJOracleTableImport);
    tableColumnJOracleTableMembers = new TableColumn<ICFBamTableObj, String>("JOracleTableMembers");
    tableColumnJOracleTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJOracleTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJOracleTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJOracleTableMembers);
    tableColumnJOracleTableImplementation = new TableColumn<ICFBamTableObj, String>(
            "JOracleTableImplementation");
    tableColumnJOracleTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJOracleTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJOracleTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJOracleTableImplementation);
    tableColumnJPgSqlTableImport = new TableColumn<ICFBamTableObj, String>("JPgSqlTableImport");
    tableColumnJPgSqlTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJPgSqlTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJPgSqlTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJPgSqlTableImport);
    tableColumnJPgSqlTableMembers = new TableColumn<ICFBamTableObj, String>("JPgSqlTableMembers");
    tableColumnJPgSqlTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJPgSqlTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJPgSqlTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJPgSqlTableMembers);
    tableColumnJPgSqlTableImplementation = new TableColumn<ICFBamTableObj, String>("JPgSqlTableImplementation");
    tableColumnJPgSqlTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJPgSqlTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJPgSqlTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJPgSqlTableImplementation);
    tableColumnJSybaseTableImport = new TableColumn<ICFBamTableObj, String>("JSybaseTableImport");
    tableColumnJSybaseTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSybaseTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSybaseTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSybaseTableImport);
    tableColumnJSybaseTableMembers = new TableColumn<ICFBamTableObj, String>("JSybaseTableMembers");
    tableColumnJSybaseTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSybaseTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSybaseTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSybaseTableMembers);
    tableColumnJSybaseTableImplementation = new TableColumn<ICFBamTableObj, String>(
            "JSybaseTableImplementation");
    tableColumnJSybaseTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSybaseTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSybaseTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSybaseTableImplementation);
    tableColumnJRamTableImport = new TableColumn<ICFBamTableObj, String>("JRamTableImport");
    tableColumnJRamTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJRamTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJRamTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJRamTableImport);
    tableColumnJRamTableMembers = new TableColumn<ICFBamTableObj, String>("JRamTableMembers");
    tableColumnJRamTableMembers.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJRamTableMembers();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJRamTableMembers.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJRamTableMembers);
    tableColumnJRamTableImplementation = new TableColumn<ICFBamTableObj, String>("JRamTableImplementation");
    tableColumnJRamTableImplementation.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJRamTableImplementation();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJRamTableImplementation.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJRamTableImplementation);
    tableColumnJSaxLoaderImport = new TableColumn<ICFBamTableObj, String>("JSaxLoaderImport");
    tableColumnJSaxLoaderImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSaxLoaderImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSaxLoaderImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSaxLoaderImport);
    tableColumnJSaxLoaderStartElement = new TableColumn<ICFBamTableObj, String>("JSaxLoaderStartElement");
    tableColumnJSaxLoaderStartElement.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSaxLoaderStartElement();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSaxLoaderStartElement.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSaxLoaderStartElement);
    tableColumnJSaxLoaderEndElement = new TableColumn<ICFBamTableObj, String>("JSaxLoaderEndElement");
    tableColumnJSaxLoaderEndElement.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJSaxLoaderEndElement();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJSaxLoaderEndElement.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJSaxLoaderEndElement);
    tableColumnJXMsgTableImport = new TableColumn<ICFBamTableObj, String>("JXMsgTableImport");
    tableColumnJXMsgTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgTableImport);
    tableColumnJXMsgTableFormatters = new TableColumn<ICFBamTableObj, String>("JXMsgTableFormatters");
    tableColumnJXMsgTableFormatters.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgTableFormatters();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgTableFormatters.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgTableFormatters);
    tableColumnJXMsgRqstTableImport = new TableColumn<ICFBamTableObj, String>("JXMsgRqstTableImport");
    tableColumnJXMsgRqstTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgRqstTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgRqstTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgRqstTableImport);
    tableColumnJXMsgRspnTableImport = new TableColumn<ICFBamTableObj, String>("JXMsgRspnTableImport");
    tableColumnJXMsgRspnTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgRspnTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgRspnTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgRspnTableImport);
    tableColumnJXMsgClientTableImport = new TableColumn<ICFBamTableObj, String>("JXMsgClientTableImport");
    tableColumnJXMsgClientTableImport.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgClientTableImport();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgClientTableImport.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgClientTableImport);
    tableColumnJXMsgRqstTableBody = new TableColumn<ICFBamTableObj, String>("JXMsgRqstTableBody");
    tableColumnJXMsgRqstTableBody.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgRqstTableBody();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgRqstTableBody.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgRqstTableBody);
    tableColumnJXMsgRspnTableBody = new TableColumn<ICFBamTableObj, String>("JXMsgRspnTableBody");
    tableColumnJXMsgRspnTableBody.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgRspnTableBody();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgRspnTableBody.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgRspnTableBody);
    tableColumnJXMsgClientTableBody = new TableColumn<ICFBamTableObj, String>("JXMsgClientTableBody");
    tableColumnJXMsgClientTableBody.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(CellDataFeatures<ICFBamTableObj, String> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        String value = obj.getOptionalJXMsgClientTableBody();
                        ReadOnlyObjectWrapper<String> observable = new ReadOnlyObjectWrapper<String>();
                        observable.setValue(value);
                        return (observable);
                    }
                }
            });
    tableColumnJXMsgClientTableBody.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, String>, TableCell<ICFBamTableObj, String>>() {
                @Override
                public TableCell<ICFBamTableObj, String> call(TableColumn<ICFBamTableObj, String> arg) {
                    return new CFTextTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnJXMsgClientTableBody);
    tableColumnDefaultVisibility = new TableColumn<ICFBamTableObj, Boolean>("DefaultVisibility");
    tableColumnDefaultVisibility.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, Boolean>, ObservableValue<Boolean>>() {
                public ObservableValue<Boolean> call(CellDataFeatures<ICFBamTableObj, Boolean> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        boolean value = obj.getRequiredDefaultVisibility();
                        Boolean wrapped = new Boolean(value);
                        ReadOnlyObjectWrapper<Boolean> observable = new ReadOnlyObjectWrapper<Boolean>();
                        observable.setValue(wrapped);
                        return (observable);
                    }
                }
            });
    tableColumnDefaultVisibility.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, Boolean>, TableCell<ICFBamTableObj, Boolean>>() {
                @Override
                public TableCell<ICFBamTableObj, Boolean> call(TableColumn<ICFBamTableObj, Boolean> arg) {
                    return new CFBoolTableCell<ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnDefaultVisibility);
    tableColumnLookupDefSchema = new TableColumn<ICFBamTableObj, ICFBamSchemaDefObj>(
            "Defining Schema Definition");
    tableColumnLookupDefSchema.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamSchemaDefObj>, ObservableValue<ICFBamSchemaDefObj>>() {
                public ObservableValue<ICFBamSchemaDefObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamSchemaDefObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamSchemaDefObj ref = obj.getOptionalLookupDefSchema();
                        ReadOnlyObjectWrapper<ICFBamSchemaDefObj> observable = new ReadOnlyObjectWrapper<ICFBamSchemaDefObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupDefSchema.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamSchemaDefObj>, TableCell<ICFBamTableObj, ICFBamSchemaDefObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamSchemaDefObj> call(
                        TableColumn<ICFBamTableObj, ICFBamSchemaDefObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamSchemaDefObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupDefSchema);
    tableColumnLookupLookupIndex = new TableColumn<ICFBamTableObj, ICFBamIndexObj>("Lookup Index");
    tableColumnLookupLookupIndex.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamIndexObj>, ObservableValue<ICFBamIndexObj>>() {
                public ObservableValue<ICFBamIndexObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamIndexObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamIndexObj ref = obj.getOptionalLookupLookupIndex();
                        ReadOnlyObjectWrapper<ICFBamIndexObj> observable = new ReadOnlyObjectWrapper<ICFBamIndexObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupLookupIndex.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamIndexObj>, TableCell<ICFBamTableObj, ICFBamIndexObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamIndexObj> call(
                        TableColumn<ICFBamTableObj, ICFBamIndexObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamIndexObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupLookupIndex);
    tableColumnLookupAltIndex = new TableColumn<ICFBamTableObj, ICFBamIndexObj>("Alt Index");
    tableColumnLookupAltIndex.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamIndexObj>, ObservableValue<ICFBamIndexObj>>() {
                public ObservableValue<ICFBamIndexObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamIndexObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamIndexObj ref = obj.getOptionalLookupAltIndex();
                        ReadOnlyObjectWrapper<ICFBamIndexObj> observable = new ReadOnlyObjectWrapper<ICFBamIndexObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupAltIndex.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamIndexObj>, TableCell<ICFBamTableObj, ICFBamIndexObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamIndexObj> call(
                        TableColumn<ICFBamTableObj, ICFBamIndexObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamIndexObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupAltIndex);
    tableColumnLookupQualTable = new TableColumn<ICFBamTableObj, ICFBamTableObj>("Qualifying Table");
    tableColumnLookupQualTable.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamTableObj>, ObservableValue<ICFBamTableObj>>() {
                public ObservableValue<ICFBamTableObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamTableObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamTableObj ref = obj.getOptionalLookupQualTable();
                        ReadOnlyObjectWrapper<ICFBamTableObj> observable = new ReadOnlyObjectWrapper<ICFBamTableObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupQualTable.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamTableObj>, TableCell<ICFBamTableObj, ICFBamTableObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamTableObj> call(
                        TableColumn<ICFBamTableObj, ICFBamTableObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamTableObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupQualTable);
    tableColumnLookupPrimaryIndex = new TableColumn<ICFBamTableObj, ICFBamIndexObj>("Primary Index");
    tableColumnLookupPrimaryIndex.setCellValueFactory(
            new Callback<CellDataFeatures<ICFBamTableObj, ICFBamIndexObj>, ObservableValue<ICFBamIndexObj>>() {
                public ObservableValue<ICFBamIndexObj> call(
                        CellDataFeatures<ICFBamTableObj, ICFBamIndexObj> p) {
                    ICFBamTableObj obj = p.getValue();
                    if (obj == null) {
                        return (null);
                    } else {
                        ICFBamIndexObj ref = obj.getOptionalLookupPrimaryIndex();
                        ReadOnlyObjectWrapper<ICFBamIndexObj> observable = new ReadOnlyObjectWrapper<ICFBamIndexObj>();
                        observable.setValue(ref);
                        return (observable);
                    }
                }
            });
    tableColumnLookupPrimaryIndex.setCellFactory(
            new Callback<TableColumn<ICFBamTableObj, ICFBamIndexObj>, TableCell<ICFBamTableObj, ICFBamIndexObj>>() {
                @Override
                public TableCell<ICFBamTableObj, ICFBamIndexObj> call(
                        TableColumn<ICFBamTableObj, ICFBamIndexObj> arg) {
                    return new CFReferenceTableCell<ICFBamTableObj, ICFBamIndexObj>();
                }
            });
    dataTable.getColumns().add(tableColumnLookupPrimaryIndex);
    dataTable.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<ICFBamTableObj>() {
        @Override
        public void changed(ObservableValue<? extends ICFBamTableObj> observable, ICFBamTableObj oldValue,
                ICFBamTableObj newValue) {
            setJavaFXFocus(newValue);
        }
    });

    scrollMenu = new ScrollPane();
    scrollMenu.setVbarPolicy(ScrollBarPolicy.NEVER);
    scrollMenu.setHbarPolicy(ScrollBarPolicy.AS_NEEDED);
    scrollMenu.setFitToHeight(true);
    scrollMenu.setContent(getPanelHBoxMenu());

    setTop(scrollMenu);
    setCenter(dataTable);
    javafxIsInitializing = false;
    if (observableListOfTable != null) {
        dataTable.setItems(observableListOfTable);
    }
    adjustListButtons();
}

From source file:UI.MainStageController.java

/**
 * shows the correlation table in the analysis view
 *///  w ww . java2 s.  c o m
@FXML
private void displayCorrelationTable() {
    //Delete whatever's been in the table before
    TableView<String[]> analysisTable = new TableView<>();

    //We want to display correlations and p-Values of every node combination
    double[][] correlationMatrix = AnalysisData.getCorrelationMatrix().getData();
    double[][] pValueMatrix = AnalysisData.getPValueMatrix().getData();
    LinkedList<TaxonNode> taxonList = SampleComparison.getUnifiedTaxonList(LoadedData.getSamplesToAnalyze(),
            AnalysisData.getLevelOfAnalysis());

    //Table will consist of strings
    String[][] tableValues = new String[correlationMatrix.length][correlationMatrix[0].length + 1];

    //Add the values as formatted strings
    for (int i = 0; i < tableValues.length; i++) {
        tableValues[i][0] = taxonList.get(i).getName();
        for (int j = 1; j < tableValues[0].length; j++) {
            tableValues[i][j] = String.format("%.3f", correlationMatrix[i][j - 1]).replace(",", ".") + "\n("
                    + String.format("%.2f", pValueMatrix[i][j - 1]).replace(",", ".") + ")";
        }
    }

    for (int i = 0; i < tableValues[0].length; i++) {
        String columnTitle;
        if (i > 0) {
            columnTitle = taxonList.get(i - 1).getName();
        } else {
            columnTitle = "";
        }
        TableColumn<String[], String> column = new TableColumn<>(columnTitle);
        final int columnIndex = i;
        column.setCellValueFactory(cellData -> {
            String[] row = cellData.getValue();
            return new SimpleStringProperty(row[columnIndex]);
        });
        analysisTable.getColumns().add(column);

        //First column contains taxon names and should be italic
        if (i == 0)
            column.setStyle("-fx-font-style:italic;");
    }

    for (int i = 0; i < tableValues.length; i++) {
        analysisTable.getItems().add(tableValues[i]);
    }

    //Display table on a new stage
    Stage tableStage = new Stage();
    tableStage.setTitle("Correlation Table");
    BorderPane tablePane = new BorderPane();
    Button exportCorrelationsButton = new Button("Save correlation table to CSV");
    Button exportPValuesButton = new Button("Save p-value table to CSV");
    exportCorrelationsButton.setOnAction(e -> exportTableToCSV(tableValues, false));
    exportPValuesButton.setOnAction(e -> exportTableToCSV(tableValues, true));
    HBox exportBox = new HBox(exportCorrelationsButton, exportPValuesButton);
    exportBox.setPadding(new Insets(10));
    exportBox.setSpacing(10);
    tablePane.setTop(exportBox);
    tablePane.setCenter(analysisTable);
    Scene tableScene = new Scene(tablePane);
    tableStage.setScene(tableScene);
    tableStage.show();
}

From source file:ninja.javafx.smartcsv.fx.SmartCSVController.java

/**
 * Creates new table view and add the new content
 *///w  ww.  j  ava 2  s  .co  m
private void resetContent() {
    resetExportButtons();

    if (currentCsvFile.getContent() != null) {
        currentCsvFile.getContent().getValidationError().addListener(weakErrorListListener);
        currentCsvFile.getContent().setValidationConfiguration(currentConfigFile.getContent());
        validationEditorController.setValidationConfiguration(currentConfigFile.getContent());
        tableView = new TableView<>();
        bindLineNumber();

        bindMenuItemsToTableSelection(deleteRowMenuItem);
        bindButtonsToTableSelection(deleteRowButton);

        for (String column : currentCsvFile.getContent().getHeader()) {
            addColumn(column, tableView);
        }

        tableView.getItems().setAll(currentCsvFile.getContent().getRows());
        tableView.setEditable(true);

        setBottomAnchor(tableView, 0.0);
        setTopAnchor(tableView, 0.0);
        setLeftAnchor(tableView, 0.0);
        setRightAnchor(tableView, 0.0);
        tableWrapper.getChildren().setAll(tableView);
        errorSideBar.setModel(currentCsvFile.getContent());
        binExportButtons();
    }
}

From source file:qupath.lib.gui.tma.TMASummaryViewer.java

private Pane getCustomizeTablePane() {
    TableView<TreeTableColumn<TMAEntry, ?>> tableColumns = new TableView<>();
    tableColumns.setPlaceholder(new Text("No columns available"));
    tableColumns.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
    tableColumns.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

    SortedList<TreeTableColumn<TMAEntry, ?>> sortedColumns = new SortedList<>(
            table.getColumns().filtered(p -> !p.getText().trim().isEmpty()));
    sortedColumns.setComparator((c1, c2) -> c1.getText().compareTo(c2.getText()));
    tableColumns.setItems(sortedColumns);
    sortedColumns.comparatorProperty().bind(tableColumns.comparatorProperty());
    //      sortedColumns.comparatorProperty().bind(tableColumns.comparatorProperty());

    TableColumn<TreeTableColumn<TMAEntry, ?>, String> columnName = new TableColumn<>("Column");
    columnName.setCellValueFactory(v -> v.getValue().textProperty());
    TableColumn<TreeTableColumn<TMAEntry, ?>, Boolean> columnVisible = new TableColumn<>("Visible");
    columnVisible.setCellValueFactory(v -> v.getValue().visibleProperty());
    //      columnVisible.setCellValueFactory(col -> {
    //         SimpleBooleanProperty prop = new SimpleBooleanProperty(col.getValue().isVisible());
    //         prop.addListener((v, o, n) -> col.getValue().setVisible(n));
    //         return prop;
    //      });//from  w  w  w  .j  a v  a 2  s . co  m
    tableColumns.setEditable(true);
    columnVisible.setCellFactory(v -> new CheckBoxTableCell<>());
    tableColumns.getColumns().add(columnName);
    tableColumns.getColumns().add(columnVisible);
    ContextMenu contextMenu = new ContextMenu();

    Action actionShowSelected = new Action("Show selected", e -> {
        for (TreeTableColumn<?, ?> col : tableColumns.getSelectionModel().getSelectedItems()) {
            if (col != null)
                col.setVisible(true);
            else {
                // Not sure why this happens...?
                logger.trace("Selected column is null!");
            }
        }
    });

    Action actionHideSelected = new Action("Hide selected", e -> {
        for (TreeTableColumn<?, ?> col : tableColumns.getSelectionModel().getSelectedItems()) {
            if (col != null)
                col.setVisible(false);
            else {
                // Not sure why this happens...?
                logger.trace("Selected column is null!");
            }
        }
    });

    contextMenu.getItems().addAll(ActionUtils.createMenuItem(actionShowSelected),
            ActionUtils.createMenuItem(actionHideSelected));
    tableColumns.setContextMenu(contextMenu);
    tableColumns.setTooltip(
            new Tooltip("Show or hide table columns - right-click to change multiple columns at once"));

    BorderPane paneColumns = new BorderPane(tableColumns);
    paneColumns.setBottom(PanelToolsFX.createColumnGridControls(ActionUtils.createButton(actionShowSelected),
            ActionUtils.createButton(actionHideSelected)));

    VBox paneRows = new VBox();

    // Create a box to filter on some metadata text
    ComboBox<String> comboMetadata = new ComboBox<>();
    comboMetadata.setItems(metadataNames);
    comboMetadata.getSelectionModel().getSelectedItem();
    comboMetadata.setPromptText("Select column");
    TextField tfFilter = new TextField();
    CheckBox cbExact = new CheckBox("Exact");
    // Set listeners
    cbExact.selectedProperty().addListener(
            (v, o, n) -> setMetadataTextPredicate(comboMetadata.getSelectionModel().getSelectedItem(),
                    tfFilter.getText(), cbExact.isSelected(), !cbExact.isSelected()));
    tfFilter.textProperty().addListener(
            (v, o, n) -> setMetadataTextPredicate(comboMetadata.getSelectionModel().getSelectedItem(),
                    tfFilter.getText(), cbExact.isSelected(), !cbExact.isSelected()));
    comboMetadata.getSelectionModel().selectedItemProperty().addListener(
            (v, o, n) -> setMetadataTextPredicate(comboMetadata.getSelectionModel().getSelectedItem(),
                    tfFilter.getText(), cbExact.isSelected(), !cbExact.isSelected()));

    GridPane paneMetadata = new GridPane();
    paneMetadata.add(comboMetadata, 0, 0);
    paneMetadata.add(tfFilter, 1, 0);
    paneMetadata.add(cbExact, 2, 0);
    paneMetadata.setPadding(new Insets(10, 10, 10, 10));
    paneMetadata.setVgap(2);
    paneMetadata.setHgap(5);
    comboMetadata.setMaxWidth(Double.MAX_VALUE);
    GridPane.setHgrow(tfFilter, Priority.ALWAYS);
    GridPane.setFillWidth(comboMetadata, Boolean.TRUE);
    GridPane.setFillWidth(tfFilter, Boolean.TRUE);

    TitledPane tpMetadata = new TitledPane("Metadata filter", paneMetadata);
    tpMetadata.setExpanded(false);
    //      tpMetadata.setCollapsible(false);
    Tooltip tooltipMetadata = new Tooltip(
            "Enter text to filter entries according to a selected metadata column");
    Tooltip.install(paneMetadata, tooltipMetadata);
    tpMetadata.setTooltip(tooltipMetadata);
    paneRows.getChildren().add(tpMetadata);

    // Add measurement predicate
    TextField tfCommand = new TextField();
    tfCommand.setTooltip(new Tooltip("Predicate used to filter entries for inclusion"));

    TextFields.bindAutoCompletion(tfCommand, e -> {
        int ind = tfCommand.getText().lastIndexOf("\"");
        if (ind < 0)
            return Collections.emptyList();
        String part = tfCommand.getText().substring(ind + 1);
        return measurementNames.stream().filter(n -> n.startsWith(part)).map(n -> "\"" + n + "\" ")
                .collect(Collectors.toList());
    });

    String instructions = "Enter a predicate to filter entries.\n"
            + "Only entries passing the test will be included in any results.\n"
            + "Examples of predicates include:\n" + "    \"Num Tumor\" > 200\n"
            + "    \"Num Tumor\" > 100 && \"Num Stroma\" < 1000";
    //      labelInstructions.setTooltip(new Tooltip("Note: measurement names must be in \"inverted commands\" and\n" + 
    //            "&& indicates 'and', while || indicates 'or'."));

    BorderPane paneMeasurementFilter = new BorderPane(tfCommand);
    Label label = new Label("Predicate: ");
    label.setAlignment(Pos.CENTER);
    label.setMaxHeight(Double.MAX_VALUE);
    paneMeasurementFilter.setLeft(label);

    Button btnApply = new Button("Apply");
    btnApply.setOnAction(e -> {
        TablePredicate predicateNew = new TablePredicate(tfCommand.getText());
        if (predicateNew.isValid()) {
            predicateMeasurements.set(predicateNew);
        } else {
            DisplayHelpers.showErrorMessage("Invalid predicate",
                    "Current predicate '" + tfCommand.getText() + "' is invalid!");
        }
        e.consume();
    });
    TitledPane tpMeasurementFilter = new TitledPane("Measurement filter", paneMeasurementFilter);
    tpMeasurementFilter.setExpanded(false);
    Tooltip tooltipInstructions = new Tooltip(instructions);
    tpMeasurementFilter.setTooltip(tooltipInstructions);
    Tooltip.install(paneMeasurementFilter, tooltipInstructions);
    paneMeasurementFilter.setRight(btnApply);

    paneRows.getChildren().add(tpMeasurementFilter);

    logger.info("Predicate set to: {}", predicateMeasurements.get());

    VBox pane = new VBox();
    //      TitledPane tpColumns = new TitledPane("Select column", paneColumns);
    //      tpColumns.setMaxHeight(Double.MAX_VALUE);
    //      tpColumns.setCollapsible(false);
    pane.getChildren().addAll(paneColumns, new Separator(), paneRows);
    VBox.setVgrow(paneColumns, Priority.ALWAYS);

    return pane;
}