智能工厂.apk(点击下载) / AnnotatedMethodMap.java


package com.fasterxml.jackson.databind.introspect;

import java.lang.reflect.Method;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedHashMap;

public final class AnnotatedMethodMap implements Iterable<AnnotatedMethod> {
    protected LinkedHashMap<MemberKey, AnnotatedMethod> _methods;

    public void add(AnnotatedMethod annotatedMethod) {
        if (this._methods == null) {
            this._methods = new LinkedHashMap<>();
        }
        this._methods.put(new MemberKey(annotatedMethod.getAnnotated()), annotatedMethod);
    }

    public AnnotatedMethod remove(AnnotatedMethod annotatedMethod) {
        return remove(annotatedMethod.getAnnotated());
    }

    public AnnotatedMethod remove(Method method) {
        LinkedHashMap<MemberKey, AnnotatedMethod> linkedHashMap = this._methods;
        if (linkedHashMap != null) {
            return linkedHashMap.remove(new MemberKey(method));
        }
        return null;
    }

    public boolean isEmpty() {
        LinkedHashMap<MemberKey, AnnotatedMethod> linkedHashMap = this._methods;
        return linkedHashMap == null || linkedHashMap.size() == 0;
    }

    public int size() {
        LinkedHashMap<MemberKey, AnnotatedMethod> linkedHashMap = this._methods;
        if (linkedHashMap == null) {
            return 0;
        }
        return linkedHashMap.size();
    }

    public AnnotatedMethod find(String str, Class<?>[] clsArr) {
        LinkedHashMap<MemberKey, AnnotatedMethod> linkedHashMap = this._methods;
        if (linkedHashMap == null) {
            return null;
        }
        return linkedHashMap.get(new MemberKey(str, clsArr));
    }

    public AnnotatedMethod find(Method method) {
        LinkedHashMap<MemberKey, AnnotatedMethod> linkedHashMap = this._methods;
        if (linkedHashMap == null) {
            return null;
        }
        return linkedHashMap.get(new MemberKey(method));
    }

    @Override // java.lang.Iterable
    public Iterator<AnnotatedMethod> iterator() {
        LinkedHashMap<MemberKey, AnnotatedMethod> linkedHashMap = this._methods;
        if (linkedHashMap != null) {
            return linkedHashMap.values().iterator();
        }
        return Collections.emptyList().iterator();
    }
}