Электронный магазин на Java и XML

         

Инструкции импорта...



Листинг 7.37. Инструкции импорта и статические методы класса DOMlibrary (DOMIibrary.java)

package com.XmlEcomBook ; import java.io.* ; import java.util.* ; import com.sun.xml.tree.* ; import com.sun.xml.parser.Resolver ; import org.xml.sax.* ; import org.w3c.dom.* ; public class DOMlibrary implements java.lang.Runnable { private static DOMlibrary theLib ; private static int maxAge = 6000 ; // age in seconds public synchronized static DOMlibrary getLibrary(){ if( theLib == null ) theLib = new DOMlibrary();
return theLib ; } public static void setMaxAge(int t) { maxAge = t ;}

Как показано в листинге 7.38, единственный конструктор является закрытым (private), чтобы гарантировать, что только лишь статический метод getLibrary может создать новый объект. Резидентные объекты XML document хранятся в хэш- таблице domHash; ключом является путь к соответствующему файлу. Хэш-табли- ца с именем trackerHash, используя тот же ключ, сохраняет объект DomTracker для каждого объекта XML document. Класс DOMTracker — внутренний класс в DOMlibrary; его код приведен в листинге 7.43. Обратите внимание на то, что объекту Thread (потоку, выполняющему метод run), присвоен самый низкий приоритет.



Содержание раздела