Red Hat Application Migration Toolkit
package org.exolab.castor.mapping.handlers;
import java.util.Hashtable;
import org.exolab.castor.mapping.MapHandler;
import org.exolab.castor.mapping.handlers.J1MapHandler;
public final class MapHandlers {
private static final String J2MAP_CLASSNAME = "java.util.Map";
private static final String J2MAP_HANDLER_CLASSNAME = "org.exolab.castor.mapping.handlers.J2MapHandler";
private static final MapHandler HASHTABLE_HANDLER = new J1MapHandler();
private static MapHandler _anymapHandler;
private static Class _j2mapClass = null;
public static MapHandler getHandler(Object object) {
return object == null?null:getHandler(object.getClass());
}
public static MapHandler getHandler(Class clazz) {
return clazz == null?null:(Hashtable.class.isAssignableFrom(clazz)?HASHTABLE_HANDLER:(_j2mapClass != null && _j2mapClass.isAssignableFrom(clazz)?_anymapHandler:null));
}
static {
if(_j2mapClass == null) {
try {
ClassLoader iae = MapHandlers.class.getClassLoader();
if(iae != null) {
_j2mapClass = iae.loadClass("java.util.Map");
} else {
_j2mapClass = Class.forName("java.util.Map");
}
Class handler = Class.forName("org.exolab.castor.mapping.handlers.J2MapHandler");
_anymapHandler = (MapHandler)handler.newInstance();
} catch (ClassNotFoundException var2) {
;
} catch (InstantiationException var3) {
;
} catch (IllegalAccessException var4) {
;
}
}
}
}