default <T> Function<JsonValue, T> fromJson( ModuleDescriptor module, Class<T> type ) { return state -> fromJson( module, type, state ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, Class<T> valueType, JsonValue... states ) { return fromJsonEach( module, valueType, Stream.of( states ) ); } }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, ValueType valueType, Stream<JsonValue> states ) { return states.map( fromJsonFunction( module, valueType ) ); }
@Override public Object readResponse( Response response, Class<?> resultType ) throws ResourceException { if( MediaType.APPLICATION_JSON.equals( response.getEntity().getMediaType() ) ) { if( resultType.equals( String.class ) || Number.class.isAssignableFrom( resultType ) ) { try { return jsonDeserializer.deserialize( module, resultType, response.getEntityAsText() ); } catch( Exception e ) { throw new ResourceException( e ); } } } return null; } }
return jsonDeserializer.deserialize( module, valueType, jsonValue );
return deserializer.deserialize( module, propertyDescriptor.valueType(), value );
default <T> Function<JsonValue, T> fromJsonFunction( ModuleDescriptor module, ValueType valueType ) { return state -> fromJson( module, valueType, state ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, Class<T> valueType, JsonValue... states ) { return fromJsonEach( module, valueType, Stream.of( states ) ); } }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, ValueType valueType, Stream<JsonValue> states ) { return states.map( fromJsonFunction( module, valueType ) ); }
return deserializer.deserialize( module, propertyDescriptor.valueType(), value );
default <T> Function<JsonValue, T> fromJson( ModuleDescriptor module, Class<T> type ) { return state -> fromJson( module, type, state ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, ValueType valueType, JsonValue... states ) { return fromJsonEach( module, valueType, Stream.of( states ) ); }
default <T> Function<JsonValue, T> fromJsonFunction( ModuleDescriptor module, ValueType valueType ) { return state -> fromJson( module, valueType, state ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, ValueType valueType, JsonValue... states ) { return fromJsonEach( module, valueType, Stream.of( states ) ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, Class<T> valueType, Stream<JsonValue> states ) { return states.map( fromJson( module, valueType ) ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, Class<T> valueType, Iterable<JsonValue> states ) { return fromJsonEach( module, valueType, StreamSupport.stream( states.spliterator(), false ) ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, Class<T> valueType, Stream<JsonValue> states ) { return states.map( fromJson( module, valueType ) ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, Class<T> valueType, Iterable<JsonValue> states ) { return fromJsonEach( module, valueType, StreamSupport.stream( states.spliterator(), false ) ); }
default <T> T fromJson( ModuleDescriptor module, Class<T> type, @Optional JsonValue state ) { // TODO Remove (ModuleSpi) cast ValueType valueType = ( (ModuleSpi) module.instance() ).valueTypeFactory().valueTypeOf( module, type ); return fromJson( module, valueType, state ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, ValueType valueType, Iterable<JsonValue> states ) { return fromJsonEach( module, valueType, StreamSupport.stream( states.spliterator(), false ) ); }