01: package org.kohsuke.rngom.dt;
02:
03: import org.relaxng.datatype.DatatypeLibrary;
04: import org.relaxng.datatype.DatatypeLibraryFactory;
05:
06: /**
07: *
08: * @author
09: * Kohsuke Kawaguchi (kk@kohsuke.org)
10: */
11: public class CachedDatatypeLibraryFactory implements
12: DatatypeLibraryFactory {
13:
14: private String lastUri;
15: private DatatypeLibrary lastLib;
16:
17: private final DatatypeLibraryFactory core;
18:
19: public CachedDatatypeLibraryFactory(DatatypeLibraryFactory core) {
20: this .core = core;
21: }
22:
23: public DatatypeLibrary createDatatypeLibrary(String namespaceURI) {
24: if (lastUri == namespaceURI)
25: return lastLib;
26:
27: lastUri = namespaceURI;
28: lastLib = core.createDatatypeLibrary(namespaceURI);
29: return lastLib;
30: }
31:
32: }
|