default <T> Function<JsonValue, T> fromJson( ModuleDescriptor module, Class<T> type ) { return state -> fromJson( module, type, state ); }
default <T> Function<JsonValue, T> fromJsonFunction( ModuleDescriptor module, ValueType valueType ) { return state -> fromJson( module, valueType, state ); }
default <T> Function<JsonValue, T> fromJson( ModuleDescriptor module, Class<T> type ) { return state -> fromJson( module, type, state ); }
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, Stream<JsonValue> states ) { return states.map( fromJson( module, valueType ) ); }
default <T> Stream<T> fromJsonEach( ModuleDescriptor module, Class<T> valueType, Stream<JsonValue> states ) { return states.map( fromJson( module, valueType ) ); }
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> 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 ); }