私は、EmployeesAList、MenuAList、および OrdersAList を含む myRestaurant というタイプの Restaurant のオブジェクトを持っています。各オブジェクトには、オブジェクト Employee、Menu_Item、および Order のインスタンスが格納されています。Order の各インスタンスは、整数、文字列、および整数の配列リストを格納します。
myRestaurant を保存すると、Orders クラス内にある arraylist を除いて、すべての arraylist が保存されます。
助言がありますか?
ランナーの保存方法
public boolean SaveToFile(Restaurant myrest)
{
try
{
File outFile = new File("etrest.rest");
//creates object representing file
FileOutputStream outFileStream = new FileOutputStream(outFile);
//connection between program and file
ObjectOutputStream outObjectStream = new ObjectOutputStream(outFileStream);
//class which is used to pass objects which will be saved to file
//Write serializable ArrayList to file
outObjectStream.writeObject(myrest);
//output done, so close the stream
outObjectStream.close();
return true;
}
catch(IOException IOE)
{
System.out.println(IOE.toString()); //debug purpose
return false;
}
}
Order を追加する Restaurant のメソッド
ArrayList OrdersAList = new ArrayList();
public void AddOrder(Order o)
{
OrdersAList.add(o);
}
注文クラス ArrayList の一部 Menu_ItemsIDAList = new ArrayList();
public Order()
{
paid = false;
WaiterNo = 0;
TableNo = 0;
item = 0;
}
public Order(boolean pd, int wN, int tN, int it)
{
paid = pd;
WaiterNo = wN;
TableNo = tN;
item = it;
}
//MENU ITEMS ENTERED PER ORDER
public void AddMenu_ItemID(int item)
{
Menu_ItemsIDAList.add(item);
}
Order のインスタンスを作成するときに、Menu_ItemsIDAList を設定するループを作成します