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

         

Метод getDOM (DOMIibrary.java)



Листинг 7.40. Метод getDOM (DOMIibrary.java)

// either return the doc or null if a problem public synchronized Document getDOM( String src ){ Object doc = domHash.get( src );
DomTracker dt = (DomTracker) trackerHash.get( src );
boolean newflag = false ; File f = null ; if( doc == null ){ System.out.println("DOMlibrary.getDOM new " + src );
f = new File( src );
loadXML( f, src );
// sets trackerHash doc = domHash.get( src );
dt = (DomTracker) trackerHash.get( src );
newflag = true ; System.out.println("DOMlibrary load OK");
} else { // found a document - is it up to date? f = new File( src );
if( dt.changed( f )){ System.out.println("DOMlibrary reloads " + src );
loadXML( f, src );
// sets trackerHash newflag = true ; doc = domHash.get( src );
dt = (DomTracker)trackerHash.get( src );
} } // if not a document, must be a string due to error if( ! (doc instanceof Document )){ System.out.println("DOMlibrary: " + doc );
// could try for re-read here } if( doc instanceof Document ) { if( ! newflag ){ dt = (DomTracker)trackerHash.get( src );
dt.setLastUse( System.currentTimeMillis());
} return (Document) doc ; } return null ; }

В листинге 7.41 представлена пара служебных методов, которые используются для удаления документа из памяти или для его перезагрузки.



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