private Type resolve(Type type) { if( type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve( bounds[ bounds.length-1]); } return type; }
private Type resolve(Type type) { if( type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve( bounds[ bounds.length-1]); } return type; }
private Type resolve(Type type) { if (type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve(bounds[bounds.length - 1]); } return type; }
private Type resolve(Type type) { if( type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve( bounds[ bounds.length-1]); } return type; }
private Type resolve(Type type) { if( type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve( bounds[ bounds.length-1]); } return type; }
private Type resolve(Type type) { if (type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve(bounds[bounds.length - 1]); } return type; }
private Type resolve(Type type) { if( type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve( bounds[ bounds.length-1]); } return type; }
private Type resolve(Type type) { if( type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve( bounds[ bounds.length-1]); } return type; }
private Type resolve(Type type) { if( type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve( bounds[ bounds.length-1]); } return type; }
private Type resolve(Type type) { if (type instanceof TypeVariable<?>) { TypeVariable<?> tv = (TypeVariable<?>) type; Type[] bounds = tv.getBounds(); return resolve(bounds[bounds.length - 1]); } return type; }
MapHandler(Class<?> rawClass, Type keyType, Type valueType) { if (rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass, Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }
MapHandler(Class< ? > rawClass, Type keyType, Type valueType) { if ( rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass,Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }
MapHandler(Class< ? > rawClass, Type keyType, Type valueType) { if ( rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass,Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }
MapHandler(Class< ? > rawClass, Type keyType, Type valueType) { if ( rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass,Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }
MapHandler(Class<?> rawClass, Type keyType, Type valueType) { if (rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass, Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }
MapHandler(Class< ? > rawClass, Type keyType, Type valueType) { if ( rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass,Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }
MapHandler(Class< ? > rawClass, Type keyType, Type valueType) { if ( rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass,Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }
MapHandler(Class< ? > rawClass, Type keyType, Type valueType) { if ( rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass,Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }
MapHandler(Class< ? > rawClass, Type keyType, Type valueType) { if ( rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass,Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }
MapHandler(Class<?> rawClass, Type keyType, Type valueType) { if (rawClass != Map.class) { ParameterizedType type = findAncestor(rawClass, Map.class); this.keyType = keyType == Object.class ? resolve(type.getActualTypeArguments()[0]) : keyType; this.valueType = valueType == Object.class ? resolve(type.getActualTypeArguments()[1]) : valueType; } else { this.keyType = keyType; this.valueType = valueType; } if (rawClass.isInterface()) { if (rawClass.isAssignableFrom(LinkedHashMap.class)) rawClass = LinkedHashMap.class; else if (rawClass.isAssignableFrom(TreeMap.class)) rawClass = TreeMap.class; else if (rawClass.isAssignableFrom(Hashtable.class)) rawClass = Hashtable.class; else if (rawClass.isAssignableFrom(HashMap.class)) rawClass = HashMap.class; else if (rawClass.isAssignableFrom(Dictionary.class)) rawClass = Hashtable.class; else throw new IllegalArgumentException("Unknown map interface: " + rawClass); } this.rawClass = rawClass; }