- /*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- /*
- * @(#)LegacyHookGetFields.java 1.3 03/01/23
- */
- package com.sun.corba.se.internal.orbutil;
-
- import java.io.*;
- import java.util.Hashtable;
-
- class LegacyHookGetFields extends ObjectInputStream.GetField {
- private Hashtable fields = null;
-
- LegacyHookGetFields(Hashtable fields){
- this.fields = fields;
- }
-
- /**
- * Get the ObjectStreamClass that describes the fields in the stream.
- */
- public java.io.ObjectStreamClass getObjectStreamClass() {
- return null;
- }
-
- /**
- * Return true if the named field is defaulted and has no value
- * in this stream.
- */
- public boolean defaulted(String name)
- throws IOException, IllegalArgumentException {
- return (!fields.containsKey(name));
- }
-
- /**
- * Get the value of the named boolean field from the persistent field.
- */
- public boolean get(String name, boolean defvalue)
- throws IOException, IllegalArgumentException {
- if (defaulted(name))
- return defvalue;
- else return ((Boolean)fields.get(name)).booleanValue();
- }
-
- /**
- * Get the value of the named char field from the persistent fields.
- */
- public char get(String name, char defvalue)
- throws IOException, IllegalArgumentException {
- if (defaulted(name))
- return defvalue;
- else return ((Character)fields.get(name)).charValue();
-
- }
-
- /**
- * Get the value of the named byte field from the persistent fields.
- */
- public byte get(String name, byte defvalue)
- throws IOException, IllegalArgumentException {
- if (defaulted(name))
- return defvalue;
- else return ((Byte)fields.get(name)).byteValue();
-
- }
-
- /**
- * Get the value of the named short field from the persistent fields.
- */
- public short get(String name, short defvalue)
- throws IOException, IllegalArgumentException {
- if (defaulted(name))
- return defvalue;
- else return ((Short)fields.get(name)).shortValue();
-
- }
-
- /**
- * Get the value of the named int field from the persistent fields.
- */
- public int get(String name, int defvalue)
- throws IOException, IllegalArgumentException {
- if (defaulted(name))
- return defvalue;
- else return ((Integer)fields.get(name)).intValue();
-
- }
-
- /**
- * Get the value of the named long field from the persistent fields.
- */
- public long get(String name, long defvalue)
- throws IOException, IllegalArgumentException {
- if (defaulted(name))
- return defvalue;
- else return ((Long)fields.get(name)).longValue();
-
- }
-
- /**
- * Get the value of the named float field from the persistent fields.
- */
- public float get(String name, float defvalue)
- throws IOException, IllegalArgumentException {
- if (defaulted(name))
- return defvalue;
- else return ((Float)fields.get(name)).floatValue();
-
- }
-
- /**
- * Get the value of the named double field from the persistent field.
- */
- public double get(String name, double defvalue)
- throws IOException, IllegalArgumentException {
- if (defaulted(name))
- return defvalue;
- else return ((Double)fields.get(name)).doubleValue();
-
- }
-
- /**
- * Get the value of the named Object field from the persistent field.
- */
- public Object get(String name, Object defvalue)
- throws IOException, IllegalArgumentException {
- if (defaulted(name))
- return defvalue;
- else return fields.get(name);
-
- }
-
- public String toString(){
- return fields.toString();
- }
- }