Skip to content

Commit

Permalink
More refactoring wrt #706
Browse files Browse the repository at this point in the history
  • Loading branch information
cowtowncoder committed Feb 17, 2015
1 parent 52a49b8 commit bf59bfb
Showing 1 changed file with 86 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@

import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.SerializerProvider;

/**
* Interface for visitor callbacks, when type in question can be any of
* legal JSON types.
*<p>
* In most cases it will make more sense to extend {@link JsonFormatVisitorWrapper.Base}
* instead of directly implementing this interface.
*/
public interface JsonFormatVisitorWrapper extends JsonFormatVisitorWithSerializerProvider
{
Expand Down Expand Up @@ -56,4 +60,86 @@ public interface JsonFormatVisitorWrapper extends JsonFormatVisitorWithSerialize
* @since 2.2
*/
public JsonMapFormatVisitor expectMapFormat(JavaType type) throws JsonMappingException;

/**
* Empty "no-op" implementation of {@link JsonFormatVisitorWrapper}, suitable for
* sub-classing. Does implement {@link #setProvider(SerializerProvider)} and
* {@link #getProvider()} as expected; other methods simply return null
* and do nothing.
*
* @since 2.5
*/
public static class Base implements JsonFormatVisitorWrapper {
protected SerializerProvider _provider;

public Base() { }

public Base(SerializerProvider p) {
_provider = p;
}

@Override
public SerializerProvider getProvider() {
return _provider;
}

@Override
public void setProvider(SerializerProvider p) {
_provider = p;
}

@Override
public JsonObjectFormatVisitor expectObjectFormat(JavaType type)
throws JsonMappingException {
return null;
}

@Override
public JsonArrayFormatVisitor expectArrayFormat(JavaType type)
throws JsonMappingException {
return null;
}

@Override
public JsonStringFormatVisitor expectStringFormat(JavaType type)
throws JsonMappingException {
return null;
}

@Override
public JsonNumberFormatVisitor expectNumberFormat(JavaType type)
throws JsonMappingException {
return null;
}

@Override
public JsonIntegerFormatVisitor expectIntegerFormat(JavaType type)
throws JsonMappingException {
return null;
}

@Override
public JsonBooleanFormatVisitor expectBooleanFormat(JavaType type)
throws JsonMappingException {
return null;
}

@Override
public JsonNullFormatVisitor expectNullFormat(JavaType type)
throws JsonMappingException {
return null;
}

@Override
public JsonAnyFormatVisitor expectAnyFormat(JavaType type)
throws JsonMappingException {
return null;
}

@Override
public JsonMapFormatVisitor expectMapFormat(JavaType type)
throws JsonMappingException {
return null;
}
}
}

0 comments on commit bf59bfb

Please sign in to comment.