// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.fasterxml.jackson.databind.introspect; import com.fasterxml.jackson.databind.type.ClassKey; import java.io.Serializable; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class SimpleMixInResolver implements ClassIntrospector.MixInResolver, Serializable { private static final long serialVersionUID = 1L; protected Map _localMixIns; protected final ClassIntrospector.MixInResolver _overrides; public SimpleMixInResolver(ClassIntrospector.MixInResolver mixinresolver) { _overrides = mixinresolver; } protected SimpleMixInResolver(ClassIntrospector.MixInResolver mixinresolver, Map map) { _overrides = mixinresolver; _localMixIns = map; } public void addLocalDefinition(Class class1, Class class2) { if (_localMixIns == null) { _localMixIns = new HashMap(); } _localMixIns.put(new ClassKey(class1), class2); } public volatile ClassIntrospector.MixInResolver copy() { return copy(); } public SimpleMixInResolver copy() { ClassIntrospector.MixInResolver mixinresolver; Object obj; if (_overrides == null) { mixinresolver = null; } else { mixinresolver = _overrides.copy(); } if (_localMixIns == null) { obj = null; } else { obj = new HashMap(_localMixIns); } return new SimpleMixInResolver(mixinresolver, ((Map) (obj))); } public Class findMixInClassFor(Class class1) { Class class2; Class class3; if (_overrides == null) { class2 = null; } else { class2 = _overrides.findMixInClassFor(class1); } class3 = class2; if (class2 == null) { class3 = class2; if (_localMixIns != null) { class3 = (Class)_localMixIns.get(new ClassKey(class1)); } } return class3; } public int localSize() { if (_localMixIns == null) { return 0; } else { return _localMixIns.size(); } } public void setLocalDefinitions(Map map) { if (map == null || map.isEmpty()) { _localMixIns = null; } HashMap hashmap = new HashMap(map.size()); java.util.Map.Entry entry; for (map = map.entrySet().iterator(); map.hasNext(); hashmap.put(new ClassKey((Class)entry.getKey()), entry.getValue())) { entry = (java.util.Map.Entry)map.next(); } _localMixIns = hashmap; } public SimpleMixInResolver withOverrides(ClassIntrospector.MixInResolver mixinresolver) { return new SimpleMixInResolver(mixinresolver, _localMixIns); } public SimpleMixInResolver withoutLocalDefinitions() { return new SimpleMixInResolver(_overrides, null); } }