array of beans in a bean
I'm working on JDBC and GUI's. For the GUI I'd like to have a source
bean, DatabaseField, of which the target bean, SingleRecord, is
composed. Specifically, a collection of DatabaseField beans inside the
SingleRecord bean. The field names, and the quantity of fields, would be
discovered on run-time with meta-data.
Is this a reasonable approach?
some code, just to give an outline (with comments):
thufir@arrakis:~/bcit3621$
thufir@arrakis:~/bcit3621$ cat lab5/src/a00720398/lab05/beans/
DatabaseField.java
package a00720398.lab05.beans;
public class DatabaseField extends javax.swing.JPanel {
/** Creates new form DatabaseField */
public DatabaseField() {
initComponents();
}
/** 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.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-
BEGIN:initComponents
private void initComponents() {
field = new javax.swing.JLabel();
data = new javax.swing.JTextField();
field.setText("field");
add(field);
data.setText("data");
add(data);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JTextField data;
private javax.swing.JLabel field;
// End of variables declaration//GEN-END:variables
}
thufir@arrakis:~/bcit3621$
thufir@arrakis:~/bcit3621$ cat lab5/src/a00720398/lab05/beans/
SingleRecord.java
package a00720398.lab05.beans;
import java.util.*;
public class SingleRecord extends javax.swing.JPanel {
/** Creates new form SingleRecord */
public SingleRecord() {
List<DatabaseField> fields = new ArrayList<DatabaseField>();
/*make an unknown quantity of DatabaseField beans and
* add each bean to the list -- simple.
* Next, bind each bean to a field in the database.
* Getting the meta data is easy, but the mechanics
* of binding each DatabaseField bean to its corresponding
* database field seems murky.
*
* is this a scenario which calls for single table inheritance?
*
* the db is quite simple. Does there need to be an object
* which represents one row of the table? Can its attributes
* be dynamically determined? This would require reflection?
*/
initComponents();
}
/** 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.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-
BEGIN:initComponents
private void initComponents() {
databaseField1 = new a00720398.lab05.beans.DatabaseField();
setLayout(new javax.swing.BoxLayout(this,
javax.swing.BoxLayout.Y_AXIS));
add(databaseField1);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private a00720398.lab05.beans.DatabaseField databaseField1;
// End of variables declaration//GEN-END:variables
}
thufir@arrakis:~/bcit3621$
thufir@arrakis:~/bcit3621$
thanks,
Thufir