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

org.codehaus.jackson.map.exc.UnrecognizedPropertyException Maven / Gradle / Ivy

Go to download

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

The newest version!
package org.codehaus.jackson.map.exc;

import org.codehaus.jackson.JsonLocation;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.map.JsonMappingException;

/**
 * Specialized {@link JsonMappingException} sub-class specifically used
 * to indicate problems due to encountering a JSON property that could
 * not be mapped to an Object property (via getter, constructor argument
 * or field).
 * 
 * @since 1.6
 */
public class UnrecognizedPropertyException
    extends JsonMappingException
{
    private static final long serialVersionUID = 1L;

    /**
     * Class that does not contain mapping for the unrecognized property.
     */
    protected final Class _referringClass;
    
    /**
     *

* Note: redundant information since it is also included in the * reference path. */ protected final String _unrecognizedPropertyName; public UnrecognizedPropertyException(String msg, JsonLocation loc, Class referringClass, String propName) { super(msg, loc); _referringClass = referringClass; _unrecognizedPropertyName = propName; } public static UnrecognizedPropertyException from(JsonParser jp, Object fromObjectOrClass, String propertyName) { if (fromObjectOrClass == null) { throw new IllegalArgumentException(); } Class ref; if (fromObjectOrClass instanceof Class) { ref = (Class) fromObjectOrClass; } else { ref = fromObjectOrClass.getClass(); } String msg = "Unrecognized field \""+propertyName+"\" (Class "+ref.getName()+"), not marked as ignorable"; UnrecognizedPropertyException e = new UnrecognizedPropertyException(msg, jp.getCurrentLocation(), ref, propertyName); // but let's also ensure path includes this last (missing) segment e.prependPath(fromObjectOrClass, propertyName); return e; } /** * Method for accessing type (class) that is missing definition to allow * binding of the unrecognized property. */ public Class getReferringClass() { return _referringClass; } /** * Convenience method for accessing logical property name that could * not be mapped. Note that it is the last path reference in the * underlying path. */ public String getUnrecognizedPropertyName() { return _unrecognizedPropertyName; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy