import utils.KWICDatabase;
class
KWICDB
implements KWICDBInterface {
private DatabaseAccess dba = new DatabaseAccess();
private DBClientTemplate
invalidWriterClient = new DBInvalidWriterClient(dba),
invalidReaderClient = new DBInvalidReaderClient(dba),
readerClient = invalidReaderClient,
writerClient = invalidWriterClient;
private KWICDatabase kwicdb;
public KWICDBInterface
init() {
kwicdb = new KWICDatabase();
readerClient = new DBReaderClient(dba);
writerClient = new DBWriterClient(dba);
return this;
}
public String []
query(String keywords[]) {
try { readerClient.enter(); }
catch (InterruptedException ie) { }
String [] entries = kwicdb.get(keywords);
readerClient.exit();
return entries;
}
public void
term() {
readerClient = invalidReaderClient;
writerClient = invalidWriterClient;
}
public void
write(String description) {
try { writerClient.enter(); }
catch (InterruptedException ie) { }
kwicdb.put(description);
writerClient.exit();
}
}
syntax highlighted by Code2HTML, v. 0.9