1 cananian 1.1.2.1 // MZFExternalMap.java, created Wed Nov 14 00:03:06 2001 by cananian
 2 cananian 1.1.2.1 // Copyright (C) 2000 C. Scott Ananian <cananian@alumni.princeton.edu>
 3 cananian 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 cananian 1.1.2.1 package harpoon.Runtime;
 5 cananian 1.1.2.1 
 6 cananian 1.1.2.1 /**
 7 cananian 1.1.2.1  * The <code>MZFExternalMap</code> defines the interface which the
 8 cananian 1.1.2.1  * <code>MZFExternalize</code> code factory (part of 
 9 cananian 1.1.2.1  * <code>MZFCompressor</code>) uses to interface to an external
10 cananian 1.1.2.1  * hashmap.
11 cananian 1.1.2.1  * 
12 cananian 1.1.2.1  * @author  C. Scott Ananian <cananian@alumni.princeton.edu>
13 cananian 1.3      * @version $Id: MZFExternalMap.java,v 1.3 2002/04/10 03:06:21 cananian Exp $
14 cananian 1.1.2.1  */
15 cananian 1.1.2.1 public abstract class MZFExternalMap {
16 cananian 1.1.2.1 
17 cananian 1.1.2.2     public static synchronized native
18 cananian 1.2.2.1         int intGET(Object fieldkey, Object obj,
19 cananian 1.1.2.2                    int default_value);
20 cananian 1.1.2.2     public static synchronized native
21 cananian 1.2.2.1         void intSET(Object fieldkey, Object obj,
22 cananian 1.1.2.2                     int newvalue, int default_value);
23 cananian 1.1.2.2     public static synchronized native
24 cananian 1.2.2.1         long longGET(Object fieldkey, Object obj,
25 cananian 1.1.2.2                      long default_value);
26 cananian 1.1.2.2     public static synchronized native
27 cananian 1.2.2.1         void longSET(Object fieldkey, Object obj,
28 cananian 1.1.2.2                      long newvalue, long default_value);
29 cananian 1.1.2.2     public static synchronized native
30 cananian 1.2.2.1         Object ptrGET(Object fieldkey, Object obj,
31 cananian 1.1.2.2                       Object default_value);
32 cananian 1.1.2.2     public static synchronized native
33 cananian 1.2.2.1         void ptrSET(Object fieldkey, Object obj,
34 cananian 1.1.2.2                     Object newvalue, Object default_value);
35 cananian 1.1.2.1     // convenience.
36 cananian 1.1.2.2     public static synchronized final
37 cananian 1.2.2.1         float floatGET(Object fieldkey, Object obj,
38 cananian 1.1.2.2                        float default_value) {
39 cananian 1.1.2.1         return Float.intBitsToFloat
40 cananian 1.2.2.1             (intGET(fieldkey, obj, Float.floatToIntBits(default_value)));
41 cananian 1.1.2.1     }
42 cananian 1.1.2.2     public static synchronized final
43 cananian 1.2.2.1         void floatSET(Object fieldkey, Object obj,
44 cananian 1.1.2.2                       float newvalue, float default_value) {
45 cananian 1.2.2.1         intSET(fieldkey, obj,
46 cananian 1.1.2.1                Float.floatToIntBits(newvalue),
47 cananian 1.1.2.1                Float.floatToIntBits(default_value));
48 cananian 1.1.2.1     }
49 cananian 1.1.2.2     public static synchronized final
50 cananian 1.2.2.1         double doubleGET(Object fieldkey, Object obj,
51 cananian 1.1.2.2                          double default_value) {
52 cananian 1.1.2.1         return Double.longBitsToDouble
53 cananian 1.2.2.1             (longGET(fieldkey, obj, Double.doubleToLongBits(default_value)));
54 cananian 1.1.2.1     }
55 cananian 1.1.2.2     public static synchronized final
56 cananian 1.2.2.1         void doubleSET(Object fieldkey, Object obj,
57 cananian 1.1.2.2                        double newvalue, double default_value) {
58 cananian 1.2.2.1         longSET(fieldkey, obj,
59 cananian 1.1.2.1                 Double.doubleToLongBits(newvalue),
60 cananian 1.1.2.1                 Double.doubleToLongBits(default_value));
61 cananian 1.1.2.1     }
62 cananian 1.2     }