Item())) {
                dataType = new String[]{"java.util.Date", "java.util.Calendar"};
            } else {
                dataType = new String[]{"String", "Character", "Boolean", "Byte", "Short", "Integer", "Long", "Float", "Double",
                    "java.math.BigInteger", "java.math.BigDecimal", "java.util.Date", "java.util.Calendar",
                    "java.sql.Date", "java.sql.Time", "java.sql.Timestamp", "byte[]", "Byte[]", "char[]", "Character[]"};
            }
        } else if (baseAttribute instanceof Id) {
            if ("Temporal".equals(type_ComboBox.getSelectedItem())) {
                dataType = new String[]{"java.util.Date"};
            } else {
                dataType = new String[]{"String", "char", "boolean", "byte", "short", "int", "long", "float", "double", "Character", "Boolean", "Byte", "Short", "Integer", "Long", "Float", "Double",
                    "java.math.BigInteger", "java.math.BigDecimal", "java.util.Date", "java.sql.Date"};
            }
        } else if (baseAttribute instanceof Version) {
            dataType = new String[]{"int", "Integer", "short", "Short", "long", "Long", "java.sql.Timestamp"};
        } else if (baseAttribute instanceof Transient) {
            setDataTypeEditable();
        }
        if (dataType == null) {
            dataType = new String[]{""};
        }

        dataType_ComboBox.removeAllItems();
        dataType_ComboBox.setModel(new DefaultComboBoxModel(dataType));
        dataType_ComboBox.setSelectedItem(dataType[0]);

    }

    @Override
    public void setValue(BaseAttribute baseAttribute) {
        this.baseAttribute = baseAttribute;
        initTypeComboBox();
        if (baseAttribute instanceof Basic) {
            Basic basic = (Basic) baseAttribute;
            if (basic.getLob()!= null) {
                type_ComboBox.setSelectedItem("Lob");
            } else if (basic.getEnumerated()!= null) {
                type_ComboBox.setSelectedItem("Enumerated");
                if (basic.getEnumerated() == EnumType.STRING) {
                    String_RadioButton.setSelected(true);
                } else {
                    Ordinal_RadioButton.setSelected(true);
                }
            } else if (basic.getTemporal()!= null) {
                type_ComboBox.setSelectedItem("Temporal");
                if (basic.getTemporal() == TemporalType.DATE) {
                    Date_RadioButton.setSelected(true);
                } else if (basic.getTemporal() == TemporalType.TIME) {
                    Time_RadioButton.setSelected(true);
                } else if (basic.getTemporal() == TemporalType.TIMESTAMP) {
                    TimeStamp_RadioButton.setSelected(true);
                }
            } else {
                type_ComboBox.setSelectedItem("Default");
            }

        } else if (baseAttribute instanceof ElementCollection) {
            ElementCollection elementCollection = (ElementCollection) baseAttribute;
            if (elementCollection.getLob()!= null) {
                type_ComboBox.setSelectedItem("Lob");
            } else if (elementCollection.getEnumerated()!= null) {
                type_ComboBox.setSelectedItem("Enumerated");
                if (elementCollection.getEnumerated() == EnumType.STRING) {
                    String_RadioButton.setSelected(true);
                } else {
                    Ordinal_RadioButton.setSelected(true);
                }
            } else if (elementCollection.getTemporal()!= null) {
                type_ComboBox.setSelectedItem("Temporal");
                if (elementCollection.getTemporal() == TemporalType.DATE) {
                    Date_RadioButton.setSelected(true);
                } else if (elementCollection.getTemporal() == TemporalType.TIME) {
                    Time_RadioButton.setSelected(true);
                } else if (elementCollection.getTemporal() == TemporalType.TIMESTAMP) {
                    TimeStamp_RadioButton.setSelected(true);
                }
            } else {
                type_ComboBox.setSelectedItem("Default");
            }

        } else if (baseAttribute instanceof Id) {
            Id id = (Id) baseAttribute;
            if (id.getTemporal()!= null) {
                type_ComboBox.setSelectedItem("Temporal");
                if (id.getTemporal() == TemporalType.DATE) {
                    Date_RadioButton.setSelected(true);
                } else if (id.getTemporal() == TemporalType.TIME) {
                    Time_RadioButton.setSelected(true);
                } else if (id.getTemporal() == TemporalType.TIMESTAMP) {
                    TimeStamp_RadioButton.setSelected(true);
                }
            } else {
                type_ComboBox.setSelectedItem("Default");
            }

        } else if (baseAttribute instanceof Version) {
            Version version = (Version) baseAttribute;
            if (version.getTemporal()!= null) {
                type_ComboBox.setSelectedItem("Temporal");
                if (version.getTemporal() == TemporalType.DATE) {
                    Date_RadioButton.setSelected(true);
                } else if (version.getTemporal() == TemporalType.TIME) {
                    Time_RadioButton.setSelected(true);
                } else if (version.getTemporal() == TemporalType.TIMESTAMP) {
                    TimeStamp_RadioButton.setSelected(true);
                }
            } else {
                type_ComboBox.setSelectedItem("Default");
            }

        } else if (baseAttribute instanceof Transient) {
//            Transient _transient = (Transient) baseAttribute;

        } else {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
        type_ComboBoxActionPerformed(null);
        initDataTypeComboBox();
        dataType_ComboBox.setSelectedItem(baseAttribute.getAttributeType());

    }

    public FieldTypePanel(ModelerFile modelerFile) {
        this.modelerFile = modelerFile;
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        Temporal_buttonGroup = new javax.swing.ButtonGroup();
        Enumerated_buttonGroup = new javax.swing.ButtonGroup();
        jLayeredPane1 = new javax.swing.JLayeredPane();
        type_LayeredPane = new javax.swing.JLayeredPane();
        type_Label = new javax.swing.JLabel();
        type_ComboBox = new javax.swing.JComboBox();
        extendType_LayeredPane = new javax.swing.JLayeredPane();
        Enumerated_LayeredPane1 = new javax.swing.JLayeredPane();
        Ordinal_RadioButton = new javax.swing.JRadioButton();
        String_RadioButton = new javax.swing.JRadioButton();
        Temporal_LayeredPane = new javax.swing.JLayeredPane();
        Date_RadioButton = new javax.swing.JRadioButton();
        Time_RadioButton = new javax.swing.JRadioButton();
        TimeStamp_RadioButton = new javax.swing.JRadioButton();
        dataType_LayeredPane = new javax.swing.JLayeredPane();
        dataType_Label = new javax.swing.JLabel();
        dataType_ComboBox = new javax.swing.JComboBox();
        dataType_Action = new javax.swing.JButton();

        jLayeredPane1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), org.openide.util.NbBundle.getMessage(FieldTypePanel.class, "FieldTypePanel.jLayeredPane1.border.title"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.