本文整理汇总了Java中com.google.inject.spi.TypeConverterBinding类的典型用法代码示例。如果您正苦于以下问题:Java TypeConverterBinding类的具体用法?Java TypeConverterBinding怎么用?Java TypeConverterBinding使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TypeConverterBinding类属于com.google.inject.spi包,在下文中一共展示了TypeConverterBinding类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getConverter
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
@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;
}
示例2: ConvertedConstantBindingImpl
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
ConvertedConstantBindingImpl(
InjectorImpl injector,
Key<T> key,
T value,
Binding<String> originalBinding,
TypeConverterBinding typeConverterBinding) {
super(
injector,
key,
originalBinding.getSource(),
new ConstantFactory<T>(Initializables.of(value)),
Scoping.UNSCOPED);
this.value = value;
provider = Providers.of(value);
this.originalBinding = originalBinding;
this.typeConverterBinding = typeConverterBinding;
}
示例3: testCustomTypeConversion
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public void testCustomTypeConversion() throws CreationException {
final Date result = new Date();
Injector injector =
Guice.createInjector(
new AbstractModule() {
@Override
protected void configure() {
convertToTypes(
Matchers.only(TypeLiteral.get(Date.class)), mockTypeConverter(result));
bindConstant().annotatedWith(NumericValue.class).to("Today");
bind(DateHolder.class);
}
});
assertSame(result, injector.getInstance(DateHolder.class).date);
Binding<Date> binding = injector.getBinding(Key.get(Date.class, NumericValue.class));
assertTrue(binding instanceof ConvertedConstantBinding<?>);
TypeConverterBinding converterBinding =
((ConvertedConstantBinding<?>) binding).getTypeConverterBinding();
assertEquals("CustomConverter", converterBinding.getTypeConverter().toString());
assertTrue(injector.getTypeConverterBindings().contains(converterBinding));
}
示例4: testCustomTypeConversion
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public void testCustomTypeConversion() throws CreationException {
final Date result = new Date();
Injector injector = Guice.createInjector(new AbstractModule() {
@Override protected void configure() {
convertToTypes(Matchers.only(TypeLiteral.get(Date.class)) , mockTypeConverter(result));
bindConstant().annotatedWith(NumericValue.class).to("Today");
bind(DateHolder.class);
}
});
assertSame(result, injector.getInstance(DateHolder.class).date);
Binding<Date> binding = injector.getBinding(Key.get(Date.class, NumericValue.class));
assertTrue(binding instanceof ConvertedConstantBinding<?>);
TypeConverterBinding converterBinding = ((ConvertedConstantBinding<?>)binding).getTypeConverterBinding();
assertEquals("CustomConverter", converterBinding.getTypeConverter().toString());
assertTrue(injector.getTypeConverterBindings().contains(converterBinding));
}
示例5: testCustomTypeConversion
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public void testCustomTypeConversion() throws CreationException {
final Date result = new Date();
Injector injector = Guice.createInjector(new AbstractModule() {
protected void configure() {
convertToTypes(Matchers.only(TypeLiteral.get(Date.class)) , mockTypeConverter(result));
bindConstant().annotatedWith(NumericValue.class).to("Today");
bind(DateHolder.class);
}
});
assertSame(result, injector.getInstance(DateHolder.class).date);
Binding<Date> binding = injector.getBinding(Key.get(Date.class, NumericValue.class));
assertTrue(binding instanceof ConvertedConstantBinding<?>);
TypeConverterBinding converterBinding = ((ConvertedConstantBinding<?>)binding).getTypeConverterBinding();
assertEquals("CustomConverter", converterBinding.getTypeConverter().toString());
assertTrue(injector.getTypeConverterBindings().contains(converterBinding));
}
示例6: visit
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
@Override
public Boolean visit(TypeConverterBinding command) {
injector.state.addConverter(
new TypeConverterBinding(
command.getSource(), command.getTypeMatcher(), command.getTypeConverter()));
return true;
}
示例7: converterReturnedNull
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public Errors converterReturnedNull(
String stringValue,
Object source,
TypeLiteral<?> type,
TypeConverterBinding typeConverterBinding) {
return addMessage(
"Received null converting '%s' (bound at %s) to %s%n using %s.",
stringValue, convert(source), type, typeConverterBinding);
}
示例8: conversionTypeError
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public Errors conversionTypeError(
String stringValue,
Object source,
TypeLiteral<?> type,
TypeConverterBinding typeConverterBinding,
Object converted) {
return addMessage(
"Type mismatch converting '%s' (bound at %s) to %s%n"
+ " using %s.%n"
+ " Converter returned %s.",
stringValue, convert(source), type, typeConverterBinding, converted);
}
示例9: conversionError
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public Errors conversionError(
String stringValue,
Object source,
TypeLiteral<?> type,
TypeConverterBinding typeConverterBinding,
RuntimeException cause) {
return errorInUserCode(
cause,
"Error converting '%s' (bound at %s) to %s%n using %s.%n Reason: %s",
stringValue,
convert(source),
type,
typeConverterBinding,
cause);
}
示例10: ambiguousTypeConversion
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public Errors ambiguousTypeConversion(
String stringValue,
Object source,
TypeLiteral<?> type,
TypeConverterBinding a,
TypeConverterBinding b) {
return addMessage(
"Multiple converters can convert '%s' (bound at %s) to %s:%n"
+ " %s and%n"
+ " %s.%n"
+ " Please adjust your type converter configuration to avoid overlapping matches.",
stringValue, convert(source), type, a, b);
}
示例11: getConverter
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
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;
}
示例12: ConvertedConstantBindingImpl
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
ConvertedConstantBindingImpl(
InjectorImpl injector, Key<T> key, T value, Binding<String> originalBinding,
TypeConverterBinding typeConverterBinding) {
super(injector, key, originalBinding.getSource(),
new ConstantFactory<T>(Initializables.of(value)), Scoping.UNSCOPED);
this.value = value;
provider = Providers.of(value);
this.originalBinding = originalBinding;
this.typeConverterBinding = typeConverterBinding;
}
示例13: conversionTypeError
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public Errors conversionTypeError(String stringValue, Object source, TypeLiteral<?> type,
TypeConverterBinding typeConverterBinding, Object converted) {
return addMessage("Type mismatch converting '%s' (bound at %s) to %s%n"
+ " using %s.%n"
+ " Converter returned %s.",
stringValue, convert(source), type, typeConverterBinding, converted);
}
示例14: conversionError
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public Errors conversionError(String stringValue, Object source,
TypeLiteral<?> type, TypeConverterBinding typeConverterBinding, RuntimeException cause) {
return errorInUserCode(cause, "Error converting '%s' (bound at %s) to %s%n"
+ " using %s.%n"
+ " Reason: %s",
stringValue, convert(source), type, typeConverterBinding, cause);
}
示例15: ambiguousTypeConversion
import com.google.inject.spi.TypeConverterBinding; //导入依赖的package包/类
public Errors ambiguousTypeConversion(String stringValue, Object source, TypeLiteral<?> type,
TypeConverterBinding a, TypeConverterBinding b) {
return addMessage("Multiple converters can convert '%s' (bound at %s) to %s:%n"
+ " %s and%n"
+ " %s.%n"
+ " Please adjust your type converter configuration to avoid overlapping matches.",
stringValue, convert(source), type, a, b);
}