Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/port80/util/struct/MapWrapper.java


1   /*
2    * $id$
3    *
4    */
5   
6   //
7   // Copyright(c) 2002, Chris Leung
8   //
9   
10  package com.port80.util.struct;
11  
12  import java.io.*;
13  import java.util.*;
14  
15  import com.port80.util.msg;
16  
17  /** A wrapper around a Map to provide convinient access to basic type objects such as int and float.
18   */
19  public class MapWrapper {
20  
21      ////////////////////////////////////////////////////////////////////////
22      // Data
23  
24      private Map _map    =null;
25  
26  
27      ////////////////////////////////////////////////////////////////////////
28      // Method
29  
30      public MapWrapper(Map map) {
31    _map=map;
32      }
33  
34      public Object get(String key) {
35    return _map.get(key);
36      }
37  
38      public String getText(String key) {
39    Object object=_map.get(key);
40    if(object!=null) return object.toString();
41    return null;
42      }
43  
44      public boolean getBoolean(String key, boolean def) {
45    Object object=_map.get(key);
46    if(object==null) return def;
47    if(object instanceof String) {
48        boolean ret;
49        try {
50      ret=Boolean.valueOf((String)object).booleanValue();
51        } catch(NumberFormatException e) {
52      ret=def;
53        } catch(Exception e) {
54      msg.err("MapWrapper.getBoolean(): " + key + ": " +(String)object, e);
55      ret=def;
56        }
57        return ret;
58    } else {
59        msg.err("MapWrapper.getBoolean(): " + key + ": " +object.toString());
60        return def;
61    }
62      }
63  
64      public int getInt(String key, int def) {
65    Object object=_map.get(key);
66    if(object==null) return def;
67    if(object instanceof String) {
68        int ret;
69        try {
70      ret=Integer.parseInt((String)object);
71        } catch(NumberFormatException e) {
72      ret=def;
73        } catch(Exception e) {
74      msg.err("MapWrapper.getInt(): " + key + ": " +(String)object,e);
75      ret=def;
76        }
77        return ret;
78    } else {
79        msg.err("MapWrapper.getInt(): " + key + ": " +object.toString());
80        return def;
81    }
82      }
83  
84      public long getLong(String key, long def) {
85    Object object=_map.get(key);
86    if(object==null) return def;
87    if(object instanceof String) {
88        long ret;
89        try {
90      ret=Long.parseLong((String)object);
91        } catch(NumberFormatException e) {
92      ret=def;
93        } catch(Exception e) {
94      msg.err("MapWrapper.getLong(): " + key + ": " +(String)object, e);
95      ret=def;
96        }
97        return ret;
98    } else {
99        msg.err("MapWrapper.getLong(): " + key + ": " +object.toString());
100       return def;
101   }
102     }
103 
104     public float getFloat(String key, float def) {
105   Object object=_map.get(key);
106   if(object==null) return def;
107   if(object instanceof String) {
108       float ret;
109       try {
110     ret=Float.parseFloat((String)object);
111       } catch(NumberFormatException e) {
112     ret=def;
113       } catch(Exception e) {
114     msg.err("MapWrapper.getFloat(): " + key + ": " +(String)object,e);
115     ret=def;
116       }
117       return ret;
118   } else {
119       msg.err("MapWrapper.getFloat(): " + key + ": " +object.toString());
120       return def;
121   }
122     }
123 
124     public double getDouble(String key, double def) {
125   Object object=_map.get(key);
126   if(object==null) return def;
127   if(object instanceof String) {
128       double ret;
129       try {
130     ret=Double.parseDouble((String)object);
131       } catch(NumberFormatException e) {
132     ret=def;
133       } catch(Exception e) {
134     msg.err("MapWrapper.getDouble(): " + key + ": " +(String)object,e);
135     ret=def;
136       }
137       return ret;
138   } else {
139       msg.err("MapWrapper.getDouble(): " + key + ": " +object.toString());
140       return def;
141   }
142     }
143 
144     public int getHex (String key, int def) {
145   int ret=def;
146   String a=(String)_map.get(key);
147   if(a==null) return def;
148   if (a.charAt(1)=='x' ||
149       a.charAt(1)=='X') {
150       a=a.substring(2,a.length()-1);
151   }
152   try {
153       ret=Integer.parseInt(a,16);
154   } catch (Exception e) {
155       msg.warn("MapWrapper.getHex(): Error parsing: " + key + ": " + a);
156       return def;
157   }
158   return ret;
159     }
160 
161 }
162 
163