Polishing

This commit is contained in:
Juergen Hoeller 2018-07-18 14:53:19 +02:00
parent 58f58e404e
commit 4341838a21
1 changed files with 3 additions and 16 deletions

View File

@ -725,7 +725,6 @@ The SPI to implement type conversion logic is simple and strongly typed:
public interface Converter<S, T> { public interface Converter<S, T> {
T convert(S source); T convert(S source);
} }
---- ----
@ -754,7 +753,6 @@ Consider `StringToInteger` as an example for a typical `Converter` implementatio
public Integer convert(String source) { public Integer convert(String source) {
return Integer.valueOf(source); return Integer.valueOf(source);
} }
} }
---- ----
@ -775,7 +773,6 @@ example, when converting from String to java.lang.Enum objects, implement
public interface ConverterFactory<S, R> { public interface ConverterFactory<S, R> {
<T extends R> Converter<S, T> getConverter(Class<T> targetType); <T extends R> Converter<S, T> getConverter(Class<T> targetType);
} }
---- ----
@ -833,7 +830,6 @@ by a field annotation, or generic information declared on a field signature.
public Set<ConvertiblePair> getConvertibleTypes(); public Set<ConvertiblePair> getConvertibleTypes();
Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType); Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType);
} }
---- ----
@ -872,12 +868,9 @@ such as a `static valueOf` method, is defined on the target class.
public interface ConditionalConverter { public interface ConditionalConverter {
boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType); boolean matches(TypeDescriptor sourceType, TypeDescriptor targetType);
} }
public interface ConditionalGenericConverter public interface ConditionalGenericConverter extends GenericConverter, ConditionalConverter {
extends GenericConverter, ConditionalConverter {
} }
---- ----
@ -1079,6 +1072,7 @@ Where Formatter extends from the Printer and Parser building-block interfaces:
[subs="verbatim,quotes"] [subs="verbatim,quotes"]
---- ----
public interface Printer<T> { public interface Printer<T> {
String print(T fieldValue, Locale locale); String print(T fieldValue, Locale locale);
} }
---- ----
@ -1089,6 +1083,7 @@ Where Formatter extends from the Printer and Parser building-block interfaces:
import java.text.ParseException; import java.text.ParseException;
public interface Parser<T> { public interface Parser<T> {
T parse(String clientValue, Locale locale) throws ParseException; T parse(String clientValue, Locale locale) throws ParseException;
} }
---- ----
@ -1142,7 +1137,6 @@ Consider `DateFormatter` as an example `Formatter` implementation:
dateFormat.setLenient(false); dateFormat.setLenient(false);
return dateFormat; return dateFormat;
} }
} }
---- ----
@ -1169,7 +1163,6 @@ an Annotation to a formatter, implement AnnotationFormatterFactory:
Printer<?> getPrinter(A annotation, Class<?> fieldType); Printer<?> getPrinter(A annotation, Class<?> fieldType);
Parser<?> getParser(A annotation, Class<?> fieldType); Parser<?> getParser(A annotation, Class<?> fieldType);
} }
---- ----
@ -1229,7 +1222,6 @@ To trigger formatting, simply annotate fields with @NumberFormat:
@NumberFormat(style=Style.CURRENCY) @NumberFormat(style=Style.CURRENCY)
private BigDecimal decimal; private BigDecimal decimal;
} }
---- ----
@ -1251,7 +1243,6 @@ The example below uses @DateTimeFormat to format a java.util.Date as a ISO Date
@DateTimeFormat(iso=ISO.DATE) @DateTimeFormat(iso=ISO.DATE)
private Date date; private Date date;
} }
---- ----
@ -1283,7 +1274,6 @@ Review the FormatterRegistry SPI below:
void addFormatterForFieldType(Formatter<?> formatter); void addFormatterForFieldType(Formatter<?> formatter);
void addFormatterForAnnotation(AnnotationFormatterFactory<?, ?> factory); void addFormatterForAnnotation(AnnotationFormatterFactory<?, ?> factory);
} }
---- ----
@ -1311,7 +1301,6 @@ FormatterRegistry:
public interface FormatterRegistrar { public interface FormatterRegistrar {
void registerFormatters(FormatterRegistry registry); void registerFormatters(FormatterRegistry registry);
} }
---- ----
@ -1469,7 +1458,6 @@ JSR-303 allows you to define declarative validation constraints against such pro
@Min(0) @Min(0)
private int age; private int age;
} }
---- ----
@ -1542,7 +1530,6 @@ the Spring Validation API:
@Autowired @Autowired
private Validator validator; private Validator validator;
} }
---- ----