@Override public Boolean visit(TypeConverterBinding command) { injector.state.addConverter( new TypeConverterBinding( command.getSource(), command.getTypeMatcher(), command.getTypeConverter())); return true; }
@Override public void convertToTypes( Matcher<? super TypeLiteral<?>> typeMatcher, TypeConverter converter) { elements.add(new TypeConverterBinding(getElementSource(), typeMatcher, converter)); }
TypeConverter getTypeConverter( final TypeLiteral<?> type ) { TypeConverter converter = converterMap.get( type ); if ( null == converter ) { for ( final TypeConverterBinding b : injector.getTypeConverterBindings() ) { if ( b.getTypeMatcher().matches( type ) ) { converter = b.getTypeConverter(); converterMap.put( type, converter ); break; } } } return converter; } }
@Override public TypeConverterBinding getConverter( String stringValue, TypeLiteral<?> type, Errors errors, Object source) { TypeConverterBinding matchingConverter = null; for (State s = this; s != State.NONE; s = s.parent()) { for (TypeConverterBinding converter : s.getConvertersThisLevel()) { if (converter.getTypeMatcher().matches(type)) { if (matchingConverter != null) { errors.ambiguousTypeConversion(stringValue, source, type, matchingConverter, converter); } matchingConverter = converter; } } } return matchingConverter; }
T converted = (T) typeConverterBinding.getTypeConverter().convert(stringValue, type);
@Override public void applyTo(Binder binder) { binder.withSource(getSource()).convertToTypes(typeMatcher, typeConverter); }
private static void internalConvertToTypes( InjectorImpl injector, Matcher<? super TypeLiteral<?>> typeMatcher, TypeConverter converter) { injector.state.addConverter( new TypeConverterBinding(SourceProvider.UNKNOWN_SOURCE, typeMatcher, converter)); }
if ( b.getTypeMatcher().matches( boxedType ) ) return b.getTypeConverter().convert( text, toType );
public TypeConverterBinding getConverter( String stringValue, TypeLiteral<?> type, Errors errors, Object source) { TypeConverterBinding matchingConverter = null; for (State s = this; s != State.NONE; s = s.parent()) { for (TypeConverterBinding converter : s.getConvertersThisLevel()) { if (converter.getTypeMatcher().matches(type)) { if (matchingConverter != null) { errors.ambiguousTypeConversion(stringValue, source, type, matchingConverter, converter); } matchingConverter = converter; } } } return matchingConverter; }
T converted = (T) typeConverterBinding.getTypeConverter().convert(stringValue, type);
@Override public void applyTo(Binder binder) { binder.withSource(getSource()).convertToTypes(typeMatcher, typeConverter); }
@Override public Boolean visit(TypeConverterBinding command) { injector.state.addConverter( new TypeConverterBinding( command.getSource(), command.getTypeMatcher(), command.getTypeConverter())); return true; }
@Override public void convertToTypes( Matcher<? super TypeLiteral<?>> typeMatcher, TypeConverter converter) { elements.add(new TypeConverterBinding(getElementSource(), typeMatcher, converter)); }
@Override public TypeConverterBinding getConverter( String stringValue, TypeLiteral<?> type, Errors errors, Object source) { TypeConverterBinding matchingConverter = null; for (State s = this; s != State.NONE; s = s.parent()) { for (TypeConverterBinding converter : s.getConvertersThisLevel()) { if (converter.getTypeMatcher().matches(type)) { if (matchingConverter != null) { errors.ambiguousTypeConversion(stringValue, source, type, matchingConverter, converter); } matchingConverter = converter; } } } return matchingConverter; }
T converted = (T) typeConverterBinding.getTypeConverter().convert(stringValue, type);
public void applyTo(Binder binder) { binder.withSource(getSource()).convertToTypes(typeMatcher, typeConverter); }
@Override public Boolean visit(TypeConverterBinding command) { injector.state.addConverter(new TypeConverterBinding( command.getSource(), command.getTypeMatcher(), command.getTypeConverter())); return true; }
private void internalConvertToTypes(Matcher<? super TypeLiteral<?>> typeMatcher, TypeConverter converter) { injector.state.addConverter( new TypeConverterBinding(SourceProvider.UNKNOWN_SOURCE, typeMatcher, converter)); }
public TypeConverterBinding getConverter( String stringValue, TypeLiteral<?> type, Errors errors, Object source) { TypeConverterBinding matchingConverter = null; for (State s = this; s != State.NONE; s = s.parent()) { for (TypeConverterBinding converter : s.getConvertersThisLevel()) { if (converter.getTypeMatcher().matches(type)) { if (matchingConverter != null) { errors.ambiguousTypeConversion(stringValue, source, type, matchingConverter, converter); } matchingConverter = converter; } } } return matchingConverter; }
T converted = (T) typeConverterBinding.getTypeConverter().convert(stringValue, type);