default <T> Function<Node, T> fromXmlFunction( ModuleDescriptor module, ValueType valueType ) { return state -> fromXml( module, valueType, state ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, Class<T> valueType, Node... states ) { return fromXmlEach( module, valueType, Stream.of( states ) ); } }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, ValueType valueType, Stream<Node> states ) { return states.map( fromXmlFunction( module, valueType ) ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, Class<T> valueType, Node... states ) { return fromXmlEach( module, valueType, Stream.of( states ) ); } }
default <T> Function<Node, T> fromXml( ModuleDescriptor module, Class<T> type ) { return state -> fromXml( module, type, state ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, ValueType valueType, Stream<Node> states ) { return states.map( fromXmlFunction( module, valueType ) ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, ValueType valueType, Node... states ) { return fromXmlEach( module, valueType, Stream.of( states ) ); }
default <T> Function<Node, T> fromXmlFunction( ModuleDescriptor module, ValueType valueType ) { return state -> fromXml( module, valueType, state ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, ValueType valueType, Node... states ) { return fromXmlEach( module, valueType, Stream.of( states ) ); }
default <T> Function<Node, T> fromXml( ModuleDescriptor module, Class<T> type ) { return state -> fromXml( module, type, state ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, ValueType valueType, Iterable<Node> states ) { return fromXmlEach( module, valueType, StreamSupport.stream( states.spliterator(), false ) ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, Class<T> valueType, Stream<Node> states ) { return states.map( fromXml( module, valueType ) ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, ValueType valueType, Iterable<Node> states ) { return fromXmlEach( module, valueType, StreamSupport.stream( states.spliterator(), false ) ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, Class<T> valueType, Stream<Node> states ) { return states.map( fromXml( module, valueType ) ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, Class<T> valueType, Iterable<Node> states ) { return fromXmlEach( module, valueType, StreamSupport.stream( states.spliterator(), false ) ); }
default <T> T fromXml( ModuleDescriptor module, Class<T> type, @Optional Node state ) { // TODO Remove (ModuleSpi) cast ValueType valueType = ( (ModuleSpi) module.instance() ).valueTypeFactory().valueTypeOf( module, type ); return fromXml( module, valueType, state ); }
default <T> Stream<T> fromXmlEach( ModuleDescriptor module, Class<T> valueType, Iterable<Node> states ) { return fromXmlEach( module, valueType, StreamSupport.stream( states.spliterator(), false ) ); }
default <T> T fromXml( ModuleDescriptor module, Class<T> type, @Optional Node state ) { // TODO Remove (ModuleSpi) cast ValueType valueType = ( (ModuleSpi) module.instance() ).valueTypeFactory().valueTypeOf( module, type ); return fromXml( module, valueType, state ); }