Commit 8b258db9 authored by Phuong Khanh Tran's avatar Phuong Khanh Tran
Browse files

Update MoleculeDatabase.java

parent b2e18065
Loading
Loading
Loading
Loading
+61 −2
Original line number Diff line number Diff line
import java.io.Serializable;
import java.util.ArrayList;
package edu.bu.ec504.project;

/**
 * A class represents the molecule database
 */
public class MoleculeDatabase implements Serializable {

  public static void MoleculeDatabase() {
    private ArrayList<MoleculeDatabase> db;   // Molecule database

    /**
     * Private constructor to prevent instantiation from outside
     */
    private MoleculeDatabase() {
        this.db = new ArrayList<>();
    }

    /**
     * Add a new molecule into the database
     */
    public void addMolecule(Molecule molecule) {
      return null; // for now
    }

    /**
     * Find isomorphic molecule from the database
     */
    public Molecule find(Molecule molecule) {
      return null; // for now
    }

    /**
     * Save database to file system
     */
    public void save(String filename) {
      try {
        FileOutputStream fileOutStream = new FileOutputStream(filename);
        ObjectOutputStream objOutStream = new ObjectOutputStream(fileOutStream);
        objOutStream.writeObject(this.molecules);
        objOutStream.close();
        fileOutStream.close();
        System.out.println("Database saved successfully.");
      }
      catch (IOException e) {
        System.err.println("Error saving database: " + e.getMessage());
      }
    }

    /**
     * Load database from file system
     */
    public void load(String filename) {
      try {
        FileInputStream fileInStream = new FileInputStream(filename);
        ObjectInputStream objInStream = new ObjectInputStream(fileInStream);
        this.molecules = (ArrayList<Molecule>) objInStream.readObject();
        objInStream.close();
        fileInStream.close();
        System.out.println("Database loaded successfully.");
      }
      catch (IOException | ClassNotFoundException e) {
        System.err.println("Error loading database: " + e.getMessage());
      }
    }

}