⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hoteldb.java

📁 基于Java的软件信息系统-项目管理
💻 JAVA
字号:
package db;import java.io.*;import java.util.*;public class HotelDB{    private static int s_nextId = 0;    private CapacityMap m_capacityMap;    private MultiMap m_nameMap;    private Map m_idMap;    private MultiMap m_dateMap;        static int getNextId ()    {	int ans = s_nextId;	s_nextId++;	return ans;    }    static void resetId (int id)    {	if (id >= s_nextId)	    s_nextId += 100;    }    public HotelDB (String filename)    {	m_idMap = new TreeMap ();	m_nameMap = new MultiMap ();	m_dateMap = new MultiMap ();	m_capacityMap = new CapacityMap ();	load (filename);    }    public Reservation getReservation (int id)    {	Integer idKey = new Integer (id);	if (m_idMap.containsKey(idKey))	    return (Reservation) m_idMap.get(idKey);	else	    return null;    }    public List getReservations ()    {	return toList (m_idMap.values());    }    public List getReservations (Date date)    {	return toList (m_dateMap.getValues (date));    }    public List getReservations (String lastName, String firstName)    {	return toList (m_nameMap.getValues (firstName+lastName));    }    public List getCapacity (Date date)    {	return m_capacityMap.getCapacity(date);    }    public void addReservation (Reservation res)    {	m_idMap.put (res.getIdKey(), res);	m_nameMap.put (res.getNameKey(), res);	m_dateMap.put (res.getDate(), res);	m_capacityMap.addReservation (res);    }    public boolean deleteReservation (int id)    {	Reservation res = getReservation (id);        if (res != null)        {            m_idMap.remove (res.getIdKey());            m_nameMap.removeItem (res);            m_dateMap.removeItem (res);            m_capacityMap.removeReservation (res);            return true;        } else        {            return false;        }    }        public static List toList (Collection coll)    {	List ans = new ArrayList ();	for (Iterator iter = coll.iterator();	     iter.hasNext(); )	{	    ans.add (iter.next());	}	return ans;    }    private void load (String filename)    {        String filepath = DBUtilities.rootPath() + filename;        BufferedReader in = null;        try        {            in = new BufferedReader (new FileReader (filepath));        } catch (IOException e)        {            System.err.println ("Error opening file: " + filename + " Exiting.");            System.exit(-2);        }        String line;        Reservation reserve;        try        {            while ((line = in.readLine()) != null)            {                try {                    reserve = new Reservation (line);		    addReservation (reserve);                } catch (java.text.ParseException e) {                    System.err.println("Couldn't parse date: " + line);                }            }        }  catch (IOException e)        {            System.err.println ("Error reading file " + filename + " Continuing.");        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -