import java.io.*; import java.util.Vector; public class CustomerCollection implements CollectionIF { private String dbname; private Vector vCustomers; public CustomerCollection( String filename ) { dbname = filename; vCustomers = new Vector(); } public int getNextID() { if ( vCustomers.isEmpty() ) return 1; return ((Customer) (vCustomers.lastElement())).getID() + 1; } public void addRecord( Vector v ) { Customer cust = new Customer( ); cust.setID( Integer.parseInt( (String) v.elementAt( 0 ) ) ); vCustomers.addElement( cust ); } public void loadRecords() { DataInputStream infile_cust = null; Customer cust; try { infile_cust = new DataInputStream( new FileInputStream( dbname ) ); } catch ( FileNotFoundException e ) {} while ( true ) { cust = new Customer(); try { cust.retrieve( infile_cust ); infile_cust.readByte(); vCustomers.addElement ( cust ); } catch ( EOFException eof ) { System.out.println("We have hit end of file!"); break; } catch ( IOException e ){ } } } public void storeRecords() { DataOutputStream outfile_cust = null; try { outfile_cust = new DataOutputStream( new FileOutputStream( dbname ) ); } catch ( IOException e ) {} for ( int i = 0; i < vCustomers.size(); i++ ) { Customer cust = (Customer) vCustomers.elementAt( i ); cust.persist( outfile_cust ); try { outfile_cust.writeByte( (byte) '¬' ); } catch ( IOException e ) {} } } public void modifyRecord( Vector v ) { for ( int i = 0; i < vCustomers.size(); i++ ) if ( ( (Customer) vCustomers.elementAt( i )).equals( v ) ) {System.out.println("we have modified"); ( (Customer) vCustomers.elementAt( i ) ).update( v ); } } public void deleteRecord( int i ) { vCustomers.removeElementAt( i ); } public PersistentObject getRecord( int i ) { return (PersistentObject) vCustomers.elementAt( i ); } public int size() { return vCustomers.size(); } }