1 package com.fasterxml.jackson.databind.deser.impl;
2
3 import java.io.IOException;
4
5 import com.fasterxml.jackson.core.JsonParser;
6 import com.fasterxml.jackson.databind.DeserializationContext;
7 import com.fasterxml.jackson.databind.JsonMappingException;
8 import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
9
10 /**
11  * Special bogus "serializer" that will throw
12  * {@link JsonMappingException} if an attempt is made to deserialize
13  * a value. This is used as placeholder to avoid NPEs for uninitialized
14  * structured serializers or handlers.
15  */

16 public class FailingDeserializer extends StdDeserializer<Object>
17 {
18     private static final long serialVersionUID = 1L;
19
20     protected final String _message;
21
22     public FailingDeserializer(String m) {
23         super(Object.class);
24         _message = m;
25     }
26     
27     @Override
28     public Object deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
29         ctxt.reportInputMismatch(this, _message);
30         return null;
31     }
32 }
33