Листинг 7.41. Некоторые служебные методы (DOMIibrary.java)
// use this to force removal of a dom. it // returns last copy of dom or null if dom not in hash public synchronized Document removeDOM( String src ){ Document dom = (Document)domHash.get( src ); if( dom != null ){ domHash.remove( src ); trackerHash.remove( src ); // System.out.println("Removed " + src ); } return dom ; }
// call this to force a reload after src is modified public synchronized Document reloadDOM( String src ){ if( domHash.get( src ) != null ){ domHash.remove( src ); trackerHash.remove( src ); } return getDOM( src ); }
Класс DOMlibrary должен реализовывать интерфейс Runnable, чтобы можно было использовать в фоновом режиме поток, имеющий минимальный приоритет и выполняющий служебные функции. Пример, приведенный в листинге 7.42, очень прост: поток удаляет все документы, которые давно не используются. Также в листинге 7.42 показаны служебные методы toString и getLastErr.