All Packages Class Hierarchy This Package Previous Next Index
Class org.w3c.tools.dbm.jdbm
java.lang.Object
|
+----org.w3c.tools.dbm.jdbm
- public class jdbm
- extends Object
An dbm like database in Java.
This database is a transcription of what I have understood of gdbm into
Java. Some of the code here I don't understand, but it looks like it works.
-
BLOCK_SIZE
-
-
CACHE_SIZE
- Default cache size.
-
DIR_BITS
- Default directory bits for this database.
-
STORE_INSERT
- Mode for store - Only insert this element if it is not already defined.
-
STORE_REPLACE
- Mode for store - Replace any existing entry with the new provided one.
-
jdbm(File)
-
-
jdbm(String)
- Opens a database file in the specified
O_
mode.
-
allocateSpace(int)
- Allocate space in the file.
-
delete(byte[])
- Delete the association for the provided key.
-
delete(String)
- Delete the association for the provided String key.
-
elements()
- Enumerate the elements of the database.
-
fetch(byte[])
- Fetch the data if the given key exists in the data base
-
fetch(String)
- Fetch the data if the given key exists in the data base
-
fetchBytes(String)
- Fetch the data if the given key exists in the data base
-
fetchString(byte[])
- Fetch the data if the given key exists in the data base
-
getBytes(String)
-
-
getNextBucket(jdbmEnumerator)
- Update this enumeration current bucket to the next one.
-
keys()
- Enumerate the keys of this database.
-
loadBucket(int)
- Load the bucket whose file pointer is given.
-
lookup(byte[])
- Lookup the value associated with the provided key.
-
lookup(String)
- Lookup the value associated to the given String key.
-
main(String[])
-
-
printAvail(PrintStream)
- Print the list of available blocks:
-
printHeader(PrintStream)
- Print various database options to the given stream.
-
reorganize(boolean)
- Return a clean instance of that database, after reorganization.
-
save()
- Save thisdatabase to disk.
-
store(byte[], byte[], int)
- Store the given association of key/value.
-
store(String, byte[], int)
- Store the data for the given key in the specified
S_
mode.
-
store(String, String, int)
- Store the data for the given key in the specified
S_
mode.
-
trace(String)
-
-
unloadBucket()
- Select a bucket to be removed from the cache, unload it.
-
write(jdbmBucket, byte[], byte[])
- Allocate and write the provided key/value.
STORE_REPLACE
public static final int STORE_REPLACE
- Mode for store - Replace any existing entry with the new provided one.
STORE_INSERT
public static final int STORE_INSERT
- Mode for store - Only insert this element if it is not already defined.
BLOCK_SIZE
protected static final int BLOCK_SIZE
DIR_BITS
protected static final int DIR_BITS
- Default directory bits for this database.
CACHE_SIZE
protected static final int CACHE_SIZE
- Default cache size.
jdbm
public jdbm(String filename) throws IOException
- Opens a database file in the specified
O_
mode.
- Parameters:
- filename - the database file name.
- Throws: IOException
- if a problem with the file occurs
jdbm
public jdbm(File file) throws IOException
trace
protected final void trace(String msg)
printHeader
public void printHeader(PrintStream out)
- Print various database options to the given stream.
- Parameters:
- out - The PrintStream to display info to.
printAvail
public void printAvail(PrintStream out)
- Print the list of available blocks:
- Parameters:
- out - The print stream to print to.
allocateSpace
protected int allocateSpace(int size)
- Allocate space in the file.
- Parameters:
- size - The size of the file block we want.
- Returns:
- The file pointer to the allocated block.
write
protected int write(jdbmBucket bucket,
byte key[],
byte data[]) throws IOException
- Allocate and write the provided key/value.
This is a short end for writing new associations to the file.
- Parameters:
- bucket - Suggested bucket to allocate data from.
- key - The key part of the item to write.
- data - The data part of the item to write.
- Returns:
- The file position of the written element.
unloadBucket
protected synchronized jdbmBucket unloadBucket() throws IOException
- Select a bucket to be removed from the cache, unload it.
- Returns:
- A bucket ready to be reused.
loadBucket
protected synchronized LRUEntry loadBucket(int fileptr) throws IOException
- Load the bucket whose file pointer is given.
- Parameters:
- fileptr - The file pointer of the bucket to be loaded.
- into - The bucket to resue (or null).
store
public void store(byte key[],
byte value[],
int mode) throws IOException
- Store the given association of key/value.
- Parameters:
- key - The bytes that makes the key.
- value - The bytes that makes the value.
- mode - The mode of the storing, can be...
store
public void store(String key,
byte data[],
int mode) throws IOException
- Store the data for the given key in the specified
S_
mode.
- Parameters:
- key - the bytes of the key.
- data - the bytes of the key.
- mode - the
S_
mode.
- Returns:
- the data bytes stored for the key.
- Throws: IOException
- for whatever
store
public void store(String key,
String data,
int mode) throws IOException
- Store the data for the given key in the specified
S_
mode.
- Parameters:
- key - the bytes of the key.
- data - the bytes of the key.
- mode - the
S_
mode.
- Returns:
- the data bytes stored for the key.
- Throws: IOException
- for whatever
lookup
public byte[] lookup(byte key[]) throws IOException
- Lookup the value associated with the provided key.
- Parameters:
- key - The bits of the key to look for.
- Returns:
- The bits that makes the associated value, or
null if not found.
lookup
public byte[] lookup(String key) throws IOException
- Lookup the value associated to the given String key.
- Parameters:
- key - The string that we are looking for.
- Returns:
- The bits that makes the associated value, or
null if not found.
fetch
public byte[] fetch(byte key[]) throws IOException
- Fetch the data if the given key exists in the data base
- Parameters:
- key - the bytes of the key.
- Returns:
- the data bytes stored for the key.
- Throws: IOException
- for whatever
fetch
public String fetch(String key) throws IOException
- Fetch the data if the given key exists in the data base
- Parameters:
- key - the bytes of the key.
- Returns:
- the data bytes stored for the key.
- Throws: IOException
- for whatever
fetchBytes
public byte[] fetchBytes(String key) throws IOException
- Fetch the data if the given key exists in the data base
- Parameters:
- key - the bytes of the key.
- Returns:
- the data bytes stored for the key.
- Throws: IOException
- for whatever
fetchString
public String fetchString(byte key[]) throws IOException
- Fetch the data if the given key exists in the data base
- Parameters:
- key - the bytes of the key.
- Returns:
- the data bytes stored for the key.
- Throws: IOException
- for whatever
delete
public boolean delete(byte key[]) throws IOException
- Delete the association for the provided key.
- Parameters:
- key - The key of the element to remove.
- Returns:
- A boolean true if deletion was succesfull.
delete
public boolean delete(String key) throws IOException
- Delete the association for the provided String key.
- Parameters:
- key - The key of the element to remove.
- Returns:
- A boolean true if deletion was succesfull.
save
public void save() throws IOException
- Save thisdatabase to disk.
getNextBucket
protected boolean getNextBucket(jdbmEnumerator enum) throws IOException
- Update this enumeration current bucket to the next one.
- Parameters:
- enum - The current enumeration state.
- Returns:
- A boolean true if the end of the database
has been reached, falseotherwise.
keys
public Enumeration keys()
- Enumerate the keys of this database.
This method will retun an enumeration object suitable to walk through
all the keys of the database. You are not guaranteed
that the enumerator will not enumerate the same key multiple time.
You are guaranteed, however that you will walk at least once
through all the keys that were present at the time you created the
enumeration (but not through the one that were deleted while you are
walking through the database).
- Returns:
- An enumeration instance.
elements
public Enumeration elements()
- Enumerate the elements of the database.
This method has the same limitations then it's
keys
counterpart.
- Returns:
- An enumeration instance.
reorganize
public jdbm reorganize(boolean trace)
- Return a clean instance of that database, after reorganization.
Of course, no accesses should me made to the current database
while cleaning it up. Note that this returns a new
instance of the database !
- Returns:
- A clean database, or null if the reorganization
failed.
getBytes
public static byte[] getBytes(String str)
main
public static void main(String args[]) throws Exception
All Packages Class Hierarchy This Package Previous Next Index