@Override public <T> MessagePackAdapter<T> adapterFor( final ValueType valueType ) { return castAdapter( adapters.keySet().stream() .collect( closestType( valueType ) ) .map( adapters::get ) .orElse( null ) ); }
@Override public <T> JavaxXmlAdapter<T> adapterFor( final ValueType valueType ) { return castAdapter( adapters.keySet().stream() .collect( closestType( valueType ) ) .map( adapters::get ) .orElse( null ) ); }
@Override public <T> JavaxJsonAdapter<T> adapterFor( ValueType valueType ) { if( resolvedAdaptersCache.containsKey( valueType ) ) { return castAdapter( resolvedAdaptersCache.get( valueType ) ); } JavaxJsonAdapter<T> adapter = castAdapter( adapters.keySet().stream() .collect( closestType( valueType ) ) .map( adapters::get ) .orElse( null ) ); resolvedAdaptersCache.put( valueType, adapter ); return adapter; }
@Override public <T> JavaxJsonAdapter<T> adapterFor( ValueType valueType ) { if( resolvedAdaptersCache.containsKey( valueType ) ) { return castAdapter( resolvedAdaptersCache.get( valueType ) ); } JavaxJsonAdapter<T> adapter = castAdapter( adapters.keySet().stream() .collect( closestType( valueType ) ) .map( adapters::get ) .orElse( null ) ); resolvedAdaptersCache.put( valueType, adapter ); return adapter; }
@SuppressWarnings( "unchecked" ) private <T> Converter<T> lookupConverter( ValueType valueType ) { Converter<T> converter = lookupConvertedByConverter( valueType ); if( converter == null ) { converter = castConverter( converters.keySet().stream() .collect( closestType( valueType ) ) .map( converters::get ) .orElse( null ) ); } if( converter == null && valueType.primaryType().isEnum() ) { converter = new EnumConverter( valueType.primaryType() ); } return converter; }
@SuppressWarnings( "unchecked" ) private <T> Converter<T> lookupConverter( ValueType valueType ) { Converter<T> converter = lookupConvertedByConverter( valueType ); if( converter == null ) { converter = castConverter( converters.keySet().stream() .collect( closestType( valueType ) ) .map( converters::get ) .orElse( null ) ); } if( converter == null && valueType.primaryType().isEnum() ) { converter = new EnumConverter( valueType.primaryType() ); } return converter; }