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

org.codehaus.jackson.map.jsontype.SubtypeResolver Maven / Gradle / Ivy

There is a newer version: 7.4.3.112-ga112
Show newest version
package org.codehaus.jackson.map.jsontype;

import java.util.Collection;

import org.codehaus.jackson.map.AnnotationIntrospector;
import org.codehaus.jackson.map.MapperConfig;
import org.codehaus.jackson.map.introspect.AnnotatedClass;
import org.codehaus.jackson.map.introspect.AnnotatedMember;

/**
 * Helper object used for handling registration on resolving of supertypes
 * to subtypes.
 * 
 * @since 1.5
 */
public abstract class SubtypeResolver
{
    /**
     * Method for registering specified subtypes (possibly including type
     * names); for type entries without name, non-qualified class name
     * as used as name (unless overridden by annotation).
     */
    public abstract void registerSubtypes(NamedType... types);

    public abstract void registerSubtypes(Class... classes);
    
    /**
     * Method for finding out all reachable subtypes for a property specified
     * by given element (method or field)
     */
    public abstract Collection collectAndResolveSubtypes(AnnotatedMember property,
            MapperConfig config, AnnotationIntrospector ai);

    /**
     * Method for finding out all reachable subtypes for given type.
     */
    public abstract Collection collectAndResolveSubtypes(AnnotatedClass basetype,
            MapperConfig config, AnnotationIntrospector ai);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy