You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have got a problem with creation custom deserializer like Optional
Error:
[INFO] [ERROR] Errors in Mappers_RestWrapperMapperImpl.java'
[INFO] [ERROR] Line 17: Type mismatch: cannot convert from RestWrapperDeserializer<Object> to JsonDeserializer<RestWrapper>
Wrapper class:
public class RestWrapper<T> {
private T object;
public RestWrapper() {
}
public RestWrapper(T object) {
this.object = object;
}
// @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)
public T getObject() {
return object;
}
public void setObject(T object) {
this.object = object;
}
}
Desrializer:
public final class RestWrapperDeserializer<T> extends JsonDeserializer<RestWrapper<T>> {
public static <T> RestWrapperDeserializer<T> newInstance( JsonDeserializer<T> deserializer ) {
return new RestWrapperDeserializer<T>( deserializer );
}
private final JsonDeserializer<T> deserializer;
private RestWrapperDeserializer( JsonDeserializer<T> deserializer ) {
if ( null == deserializer ) {
throw new IllegalArgumentException( "deserializer can't be null" );
}
this.deserializer = deserializer;
}
@Override
protected RestWrapper<T> deserializeNullValue( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) {
reader.skipValue();
return new RestWrapper<>();
}
@Override
public RestWrapper<T> doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) {
return new RestWrapper<>( deserializer.deserialize( reader, ctx, params ) );
}
@Override
public void setBackReference( String referenceName, Object reference, RestWrapper<T> value, JsonDeserializationContext ctx ) {
if ( null != value ) {
deserializer.setBackReference( referenceName, reference, value.getObject(), ctx );
}
}
}
Configuration and initialization:
public static final RestWrapperMapper REST_WRAPPER_MAPPER = GWT.create(RestWrapperMapper.class);
public interface RestWrapperMapper extends ObjectMapper<RestWrapper> {}
type(RestWrapper.class).serializer(RestWrapperSerializer.class).deserializer(RestWrapperDeserializer.class);
The text was updated successfully, but these errors were encountered:
I have got a problem with creation custom deserializer like Optional
Error:
Wrapper class:
Desrializer:
Configuration and initialization:
The text was updated successfully, but these errors were encountered: