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 }