/******************************************************************************/ /* File: containers.beh */ /* */ /* Describes "container" classes used for logically grouping atomic data */ /* elements. These classes are: */ /* ConnectionArgs - used for storing data items needed for setting up a */ /* database connection, */ /* EntityStructure - used for storing a target table name and the */ /* associated column names and types, */ /* HierarchyArgs - used for storing the information needed to build a */ /* hierarchical structure in the resultset. */ /* */ /******************************************************************************/ ConnectionArgs { {{ public String vendor; public String driver; public String url; public String userid; public String password; ConnectionArgs(String vendor_in, String url_in, String userid_in, String password_in) { vendor = vendor_in; url = url_in; userid = userid_in; password = password_in; driver = ""; VendorDriver d = (VendorDriver) Utils.instantiate(vendor + "_Driver"); if (d != null) driver = d.getDriverName(); } }} } EntityStructure { {{ public String tableName; public ColumnDetail columns[]; public EntityStructure(String tableName) { this.tableName = tableName; } public void setColumns(Vector columnList) { columns = new ColumnDetail[columnList.size()]; columnList.copyInto(columns); } public static class ColumnDetail { public String name; public String type; public ColumnDetail(String name, String type) { this.name = name; this.type = type; } } }} } HierarchyArgs { {{ public String parentTable; public String parentColumn; public String childTable; public String childColumn; public String relationColumn; HierarchyArgs(String parentTable_in, String parentColumn_in, String childTable_in, String childColumn_in, String relationColumn_in) { parentTable = parentTable_in; parentColumn = parentColumn_in; childTable = childTable_in; childColumn = childColumn_in; relationColumn = relationColumn_in; } }} }