/** * Register converter by mapping it to type argument. * * @param converter to register * @param type of objects this converter handles * @return a reference to this builder. */ public <T> GensonBuilder withConverter(Converter<T> converter, Class<? extends T> type) { registerConverter(converter, type); return this; }
/** * Register converter by mapping it to type argument. * * @param converter to register * @param type of objects this converter handles * @return a reference to this builder. */ public <T> GensonBuilder withConverter(Converter<T> converter, Class<? extends T> type) { registerConverter(converter, type); return this; }
/** * Register converter by mapping it to the parameterized type of type argument. * * @param converter to register * @param type of objects this converter handles * @return a reference to this builder. */ public <T> GensonBuilder withConverter(Converter<T> converter, GenericType<? extends T> type) { registerConverter(converter, type.getType()); return this; }
/** * Register converter by mapping it to the parameterized type of type argument. * * @param converter to register * @param type of objects this converter handles * @return a reference to this builder. */ public <T> GensonBuilder withConverter(Converter<T> converter, GenericType<? extends T> type) { registerConverter(converter, type.getType()); return this; }
/** * Registers converters mapping them to their corresponding parameterized type. * * @param converter * @return a reference to this builder. */ public GensonBuilder withConverters(Converter<?>... converter) { for (Converter<?> c : converter) { Type typeOfConverter = TypeUtil.typeOf(0, TypeUtil.lookupGenericType(Converter.class, c.getClass())); typeOfConverter = TypeUtil.expandType(typeOfConverter, c.getClass()); registerConverter(c, typeOfConverter); } return this; }
/** * Registers converters mapping them to their corresponding parameterized type. * * @param converter * @return a reference to this builder. */ public GensonBuilder withConverters(Converter<?>... converter) { for (Converter<?> c : converter) { Type typeOfConverter = TypeUtil.typeOf(0, TypeUtil.lookupGenericType(Converter.class, c.getClass())); typeOfConverter = TypeUtil.expandType(typeOfConverter, c.getClass()); registerConverter(c, typeOfConverter); } return this; }