Package com.google.inject.spi

Examples of com.google.inject.spi.TypeConverterBinding


    converters.add(typeConverterBinding);
  }

  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);
View Full Code Here


    converters.add(typeConverterBinding);
  }

  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);
View Full Code Here

    String stringValue = stringBinding.getProvider().get();
    Object source = stringBinding.getSource();

    // Find a matching type converter.
    TypeLiteral<T> type = key.getTypeLiteral();
    TypeConverterBinding typeConverterBinding = state.getConverter(stringValue, type, errors, source);

    if (typeConverterBinding == null) {
      // No converter can handle the given type.
      return null;
    }

    // Try to convert the string. A failed conversion results in an error.
    try {
      @SuppressWarnings("unchecked") // This cast is safe because we double check below.
      T converted = (T) typeConverterBinding.getTypeConverter().convert(stringValue, type);

      if (converted == null) {
        throw errors.converterReturnedNull(stringValue, source, type, typeConverterBinding)
            .toException();
      }
View Full Code Here

    if ((localBindingImpl == null) || (!localBindingImpl.isConstant()))
      return null;
    String str = (String)localBindingImpl.getProvider().get();
    Object localObject1 = localBindingImpl.getSource();
    TypeLiteral localTypeLiteral = paramKey.getTypeLiteral();
    TypeConverterBinding localTypeConverterBinding = this.state.getConverter(str, localTypeLiteral, paramErrors, localObject1);
    if (localTypeConverterBinding == null)
      return null;
    try
    {
      Object localObject2 = localTypeConverterBinding.getTypeConverter().convert(str, localTypeLiteral);
      if (localObject2 == null)
        throw paramErrors.converterReturnedNull(str, localObject1, localTypeLiteral, localTypeConverterBinding).toException();
      if (!localTypeLiteral.getRawType().isInstance(localObject2))
        throw paramErrors.conversionTypeError(str, localObject1, localTypeLiteral, localTypeConverterBinding, localObject2).toException();
      return new ConvertedConstantBindingImpl(this, paramKey, localObject2, localBindingImpl, localTypeConverterBinding);
View Full Code Here

    if ((localBindingImpl == null) || (!localBindingImpl.isConstant()))
      return null;
    String str = (String)localBindingImpl.getProvider().get();
    Object localObject1 = localBindingImpl.getSource();
    TypeLiteral localTypeLiteral = paramKey.getTypeLiteral();
    TypeConverterBinding localTypeConverterBinding = this.state.getConverter(str, localTypeLiteral, paramErrors, localObject1);
    if (localTypeConverterBinding == null)
      return null;
    try
    {
      Object localObject2 = localTypeConverterBinding.getTypeConverter().convert(str, localTypeLiteral);
      if (localObject2 == null)
        throw paramErrors.converterReturnedNull(str, localObject1, localTypeLiteral, localTypeConverterBinding).toException();
      if (!localTypeLiteral.getRawType().isInstance(localObject2))
        throw paramErrors.conversionTypeError(str, localObject1, localTypeLiteral, localTypeConverterBinding, localObject2).toException();
      return new ConvertedConstantBindingImpl(this, paramKey, localObject2, localBindingImpl, localTypeConverterBinding);
View Full Code Here

    for (Object localObject2 = this; localObject2 != State.NONE; localObject2 = ((State)localObject2).parent())
    {
      Iterator localIterator = ((State)localObject2).getConvertersThisLevel().iterator();
      while (localIterator.hasNext())
      {
        TypeConverterBinding localTypeConverterBinding = (TypeConverterBinding)localIterator.next();
        if (localTypeConverterBinding.getTypeMatcher().matches(paramTypeLiteral))
        {
          if (localObject1 != null)
            paramErrors.ambiguousTypeConversion(paramString, paramObject, paramTypeLiteral, (TypeConverterBinding)localObject1, localTypeConverterBinding);
          localObject1 = localTypeConverterBinding;
        }
View Full Code Here

    this.injector.state.addConverter(new TypeConverterBinding(.SourceProvider.UNKNOWN_SOURCE, paramMatcher, paramTypeConverter));
  }

  public Boolean visit(TypeConverterBinding paramTypeConverterBinding)
  {
    this.injector.state.addConverter(new TypeConverterBinding(paramTypeConverterBinding.getSource(), paramTypeConverterBinding.getTypeMatcher(), paramTypeConverterBinding.getTypeConverter()));
    return Boolean.valueOf(true);
  }
View Full Code Here

    , paramTypeConverter);
  }

  private void internalConvertToTypes(Matcher paramMatcher, TypeConverter paramTypeConverter)
  {
    this.injector.state.addConverter(new TypeConverterBinding($SourceProvider.UNKNOWN_SOURCE, paramMatcher, paramTypeConverter));
  }
View Full Code Here

    this.injector.state.addConverter(new TypeConverterBinding($SourceProvider.UNKNOWN_SOURCE, paramMatcher, paramTypeConverter));
  }

  public Boolean visit(TypeConverterBinding paramTypeConverterBinding)
  {
    this.injector.state.addConverter(new TypeConverterBinding(paramTypeConverterBinding.getSource(), paramTypeConverterBinding.getTypeMatcher(), paramTypeConverterBinding.getTypeConverter()));
    return Boolean.valueOf(true);
  }
View Full Code Here

    for (Object localObject2 = this; localObject2 != State.NONE; localObject2 = ((State)localObject2).parent())
    {
      Iterator localIterator = ((State)localObject2).getConvertersThisLevel().iterator();
      while (localIterator.hasNext())
      {
        TypeConverterBinding localTypeConverterBinding = (TypeConverterBinding)localIterator.next();
        if (localTypeConverterBinding.getTypeMatcher().matches(paramTypeLiteral))
        {
          if (localObject1 != null)
            paramErrors.ambiguousTypeConversion(paramString, paramObject, paramTypeLiteral, (TypeConverterBinding)localObject1, localTypeConverterBinding);
          localObject1 = localTypeConverterBinding;
        }
View Full Code Here

TOP

Related Classes of com.google.inject.spi.TypeConverterBinding

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.