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

org.codehaus.jackson.map.ClassIntrospector Maven / Gradle / Ivy

Go to download

Data Mapper package is a high-performance data binding package built on Jackson JSON processor

There is a newer version: 1.9.13
Show newest version
package org.codehaus.jackson.map;

import org.codehaus.jackson.type.JavaType;

/**
 * Helper class used to introspect features of POJO value classes
 * used with Jackson. The main use is for finding out
 * POJO construction (creator) and value access (getters, setters)
 * methods and annotations that define configuration of using
 * those methods.
 */
public abstract class ClassIntrospector
{
	protected ClassIntrospector() { }
	
    /*
    ///////////////////////////////////////////////////////
    // Factory methods
    ///////////////////////////////////////////////////////
     */
    
    /**
     * Factory method that constructs an introspector that has all
     * information needed for serialization purposes.
     */
    public abstract T forSerialization(SerializationConfig cfg, Class c);

    /**
     * Factory method that constructs an introspector that has all
     * information needed for deserialization purposes.
     */
    public abstract T forDeserialization(DeserializationConfig cfg, JavaType type);

    /**
     * Factory method that constructs an introspector that has
     * information necessary for creating instances of given
     * class ("creator"), as well as class annotations, but
     * no information on member methods
     */
    public abstract T forCreation(DeserializationConfig cfg, Class c);

    /**
     * Factory method that constructs an introspector that only has
     * information regarding annotations class itself has, but nothing
     * on methods or constructors.
     */
    public abstract T forClassAnnotations(DeserializationConfig cfg, Class c);

    public abstract T forClassAnnotations(SerializationConfig cfg, Class c);
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy