|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--Downey.SimpleDB
This class allows for read and write access to a simple database. It is in a package named Downey
The database is stored as a HashMap, so it can store any object. There are some helper functions to assist for changing a String[] to an ArrayList and from an ArrayList to a String[]. Since the database is being serialized, it should only contain objects that belong to the standard collections, and String[] is not one of them.
Constructor Summary | |
SimpleDB(java.lang.String fileName)
Creates a new instance of SimpleDB |
Method Summary | |
void |
eraseDatabase()
Delete all the elements in the database. |
java.lang.String[] |
makeArray(java.util.ArrayList list)
This is a helper function for creating a String[] from an ArrayList. |
java.util.ArrayList |
makeList(java.lang.String[] values)
This is a helper function for creating an ArrayList from a String[]. |
java.lang.Object |
readRecord(java.lang.String key)
Read a record object from the database. |
void |
updateRecord(java.lang.String key,
java.lang.Object obj)
This will either add or update the object associated with the given key. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public SimpleDB(java.lang.String fileName)
fileName
- The name of the file to open. The file should
already exist and should be readable and writable
by the world, but not by the group.
Create an instance variable for the database
Downey.SimpleDB m_database;
Construct the object only once in your servlet. The best place to call it is in the init method
m_database = new Downey.SimpleDB("/aul/homes/dlett004/cgs4825/java-servlets/WEB-INF/classes/myFile.db");
Method Detail |
public java.lang.Object readRecord(java.lang.String key)
key
- This is the string key used to access the database.
It will be necessary to cast the return type to the correct class in your code. It is up to you to insure that you retrieve the correct type.
MyRecordClass record = (MyRecordClass) m_database.readRecord("fred");
public void updateRecord(java.lang.String key, java.lang.Object obj)
key
- The string used to access that databaseobj
- The object to be added to the database
It is not necessary to cast the parameter to any type, since all objects are derived from Object.
m_database.updateRecord("fred", record);
public java.util.ArrayList makeList(java.lang.String[] values)
values
- The String[] to be converted
Since String[] are not of the standard collections, it is more difficult to serialize. If you need to save a String[] into the database, first convert it to an ArrayList. ArrayList is part of the standard collections and is easily serialized.
String str[] = request.getParamterValues("team");
ArrayList list = m_database.makeList(str);
public java.lang.String[] makeArray(java.util.ArrayList list)
list
- The ArrayList to be converted
If a String[] has been converted
to an ArrayList and stored in the database, then retrieve the ArrayList
from the database and use the method to recreate the original String[]
String[] str = Downey.makeArray(list);
public void eraseDatabase()
m_database.eraseDatabase();
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |