2 ||M|| This file is part of HELM, an Hypertextual, Electronic
3 ||A|| Library of Mathematics, developed at the Computer Science
4 ||T|| Department, University of Bologna, Italy.
6 ||T|| HELM is free software; you can redistribute it and/or
7 ||A|| modify it under the terms of the GNU General Public License
8 \ / version 2 or (at your option) any later version.
9 \ / This software is distributed as is, NO WARRANTY.
10 V_______________________________________________________________ *)
18 exception ObjectNotFound of B.message
21 let env = H.create hsize
23 (* Internal functions *******************************************************)
27 fun () -> incr age; !age
29 let error uri = raise (ObjectNotFound (L.items1 (U.string_of_uri uri)))
31 (* Interface functions ******************************************************)
33 let set_entity f (a, uri, b) =
34 let age = get_age () in
35 let entry = (Y.Apix age :: a), uri, b in
36 H.add env uri entry; f entry
38 let get_entity f uri =
39 try f (H.find env uri) with Not_found -> error uri