Package com.google.inject.spi

Examples of com.google.inject.spi.TypeConverter


      convertToPrimitiveType(byte.class, Byte.class);
      convertToPrimitiveType(short.class, Short.class);
      convertToPrimitiveType(float.class, Float.class);
      convertToPrimitiveType(double.class, Double.class);

      convertToClass(Character.class, new TypeConverter() {
        public Object convert(String value, TypeLiteral<?> toType) {
          value = value.trim();
          if (value.length() != 1) {
            throw new RuntimeException("Length != 1.");
          }
          return value.charAt(0);
        }

        @Override public String toString() {
          return "TypeConverter<Character>";
        }
      });

      convertToClasses(Matchers.subclassesOf(Enum.class), new TypeConverter() {
        @SuppressWarnings("unchecked")
        public Object convert(String value, TypeLiteral<?> toType) {
          return Enum.valueOf((Class) toType.getRawType(), value);
        }

        @Override public String toString() {
          return "TypeConverter<E extends Enum<E>>";
        }
      });

      internalConvertToTypes(
        new AbstractMatcher<TypeLiteral<?>>() {
          public boolean matches(TypeLiteral<?> typeLiteral) {
            return typeLiteral.getRawType() == Class.class;
          }

          @Override public String toString() {
            return "Class<?>";
          }
        },
        new TypeConverter() {
          @SuppressWarnings("unchecked")
          public Object convert(String value, TypeLiteral<?> toType) {
            try {
              return Class.forName(value);
            } catch (ClassNotFoundException e) {
View Full Code Here


  private <T> void convertToPrimitiveType(Class<T> primitiveType, final Class<T> wrapperType) {
    try {
      final Method parser = wrapperType.getMethod(
          "parse" + Strings.capitalize(primitiveType.getName()), String.class);

      TypeConverter typeConverter = new TypeConverter() {
        @SuppressWarnings("unchecked")
        public Object convert(String value, TypeLiteral<?> toType) {
          try {
            return parser.invoke(null, value);
          } catch (IllegalAccessException e) {
View Full Code Here

      convertToPrimitiveType(byte.class, Byte.class);
      convertToPrimitiveType(short.class, Short.class);
      convertToPrimitiveType(float.class, Float.class);
      convertToPrimitiveType(double.class, Double.class);

      convertToClass(Character.class, new TypeConverter() {
        public Object convert(String value, TypeLiteral<?> toType) {
          value = value.trim();
          if (value.length() != 1) {
            throw new RuntimeException("Length != 1.");
          }
          return value.charAt(0);
        }

        @Override public String toString() {
          return "TypeConverter<Character>";
        }
      });

      convertToClasses(Matchers.subclassesOf(Enum.class), new TypeConverter() {
        @SuppressWarnings("unchecked")
        public Object convert(String value, TypeLiteral<?> toType) {
          return Enum.valueOf((Class) toType.getRawType(), value);
        }

        @Override public String toString() {
          return "TypeConverter<E extends Enum<E>>";
        }
      });

      internalConvertToTypes(
        new AbstractMatcher<TypeLiteral<?>>() {
          public boolean matches(TypeLiteral<?> typeLiteral) {
            return typeLiteral.getRawType() == Class.class;
          }

          @Override public String toString() {
            return "Class<?>";
          }
        },
        new TypeConverter() {
          @SuppressWarnings("unchecked")
          public Object convert(String value, TypeLiteral<?> toType) {
            try {
              return Class.forName(value);
            } catch (ClassNotFoundException e) {
View Full Code Here

  private <T> void convertToPrimitiveType(Class<T> primitiveType, final Class<T> wrapperType) {
    try {
      final Method parser = wrapperType.getMethod(
          "parse" + Strings.capitalize(primitiveType.getName()), String.class);

      TypeConverter typeConverter = new TypeConverter() {
        @SuppressWarnings("unchecked")
        public Object convert(String value, TypeLiteral<?> toType) {
          try {
            return parser.invoke(null, value);
          } catch (IllegalAccessException e) {
View Full Code Here

          "at " + DateHolder.class.getName() + ".date(TypeConversionTest.java:");
    }
  }
 
  public void testStringIsConvertedOnlyOnce() {
    final TypeConverter converter = new TypeConverter() {
      boolean converted = false;
      public Object convert(String value, TypeLiteral<?> toType) {
        if (converted) {
          throw new AssertionFailedError("converted multiple times!");
        }
View Full Code Here

          "at " + DateHolder.class.getName() + ".date(TypeConversionTest.java:");
    }
  }

  TypeConverter mockTypeConverter(final Object result) {
    return new TypeConverter() {
      public Object convert(String value, TypeLiteral<?> toType) {
        return result;
      }

      @Override public String toString() {
View Full Code Here

      }
    };
  }

  private TypeConverter failingTypeConverter() {
    return new TypeConverter() {
      public Object convert(String value, TypeLiteral<?> toType) {
        throw new UnsupportedOperationException("Cannot convert");
      }
      @Override public String toString() {
        return "BrokenConverter";
View Full Code Here

        }
        if ( null == value || String.class == clazz )
        {
            return (V) value; // no conversion required
        }
        final TypeConverter converter = converterCache.getTypeConverter( expectedType );
        if ( null != converter )
        {
            return (V) converter.convert( (String) value, expectedType );
        }
        return null;
    }
View Full Code Here

    // Public methods
    // ----------------------------------------------------------------------

    public TypeConverter getTypeConverter( final TypeLiteral<?> type )
    {
        TypeConverter converter = converterMap.get( type );
        if ( null == converter )
        {
            for ( final TypeConverterBinding b : injector.getTypeConverterBindings() )
            {
                if ( b.getTypeMatcher().matches( type ) )
View Full Code Here

      convertToPrimitiveType(Boolean.TYPE, Boolean.class);
      convertToPrimitiveType(Byte.TYPE, Byte.class);
      convertToPrimitiveType(Short.TYPE, Short.class);
      convertToPrimitiveType(Float.TYPE, Float.class);
      convertToPrimitiveType(Double.TYPE, Double.class);
      convertToClass(Character.class, new TypeConverter()
      {
        public Object convert(String paramAnonymousString, TypeLiteral paramAnonymousTypeLiteral)
        {
          paramAnonymousString = paramAnonymousString.trim();
          if (paramAnonymousString.length() != 1)
            throw new RuntimeException("Length != 1.");
          return Character.valueOf(paramAnonymousString.charAt(0));
        }

        public String toString()
        {
          return "TypeConverter<Character>";
        }
      });
      convertToClasses(Matchers.subclassesOf(Enum.class), new TypeConverter()
      {
        public Object convert(String paramAnonymousString, TypeLiteral paramAnonymousTypeLiteral)
        {
          return Enum.valueOf(paramAnonymousTypeLiteral.getRawType(), paramAnonymousString);
        }

        public String toString()
        {
          return "TypeConverter<E extends Enum<E>>";
        }
      });
      internalConvertToTypes(new AbstractMatcher()
      {
        public boolean matches(TypeLiteral paramAnonymousTypeLiteral)
        {
          return paramAnonymousTypeLiteral.getRawType() == Class.class;
        }

        public String toString()
        {
          return "Class<?>";
        }
      }
      , new TypeConverter()
      {
        public Object convert(String paramAnonymousString, TypeLiteral paramAnonymousTypeLiteral)
        {
          try
          {
View Full Code Here

TOP

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

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.