All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jsoniter.spi.ClassDescriptor Maven / Gradle / Ivy

Go to download

jsoniter (json-iterator) is fast and flexible JSON parser available in Java and Go

There is a newer version: 0.9.23
Show newest version
package com.jsoniter.spi;

import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class ClassDescriptor {

    public Class clazz;
    public Map lookup;
    public ConstructorDescriptor ctor;
    public List fields;
    public List setters;
    public List getters;
    public List wrappers;
    public List unWrappers;
    public boolean asExtraForUnknownProperties;
    public Binding onMissingProperties;
    public Binding onExtraProperties;

    public List allBindings() {
        ArrayList bindings = new ArrayList(8);
        bindings.addAll(fields);
        if (setters != null) {
            bindings.addAll(setters);
        }
        if (getters != null) {
            bindings.addAll(getters);
        }
        if (ctor != null) {
            bindings.addAll(ctor.parameters);
        }
        if (wrappers != null) {
            for (WrapperDescriptor setter : wrappers) {
                bindings.addAll(setter.parameters);
            }
        }
        return bindings;
    }

    public List allDecoderBindings() {
        ArrayList bindings = new ArrayList(8);
        bindings.addAll(fields);
        bindings.addAll(setters);
        if (ctor != null) {
            bindings.addAll(ctor.parameters);
        }
        for (WrapperDescriptor setter : wrappers) {
            bindings.addAll(setter.parameters);
        }
        return bindings;
    }

    public List allEncoderBindings() {
        ArrayList bindings = new ArrayList(8);
        bindings.addAll(fields);
        bindings.addAll(getters);
        return bindings;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy