77import javax .annotation .Nullable ;
88
99import io .jooby .TypeMismatchException ;
10+ import io .jooby .Value ;
1011
1112/**
12- * Contains the {@link ValueConverter }s loaded via the ServiceLoader. It is is a
13+ * Contains the {@link BeanValueConverter }s loaded via the ServiceLoader. It is is a
1314 * singleton and an instance can be retrieved with {@link #getInstance()}. The
1415 * ValueConverters are stored in an ordered collection and thus resolution of
1516 * type to be converted is based on the order of the converters.
1617 *
1718 * @author agentgt
1819 *
1920 */
20- public final class ValueConverters {
21+ public final class BeanValueConverters {
2122
2223 // Allow thread safe adding of ValueConverters.
23- private final Iterable <ValueConverter > valueConverters ;
24+ private final Iterable <BeanValueConverter > valueConverters ;
2425
2526 // Initialization on demand
2627 private static final class Hidden {
2728
28- private static volatile ValueConverters instance = ValueConverters .builder ().fromServiceLoader ().build ();
29+ private static volatile BeanValueConverters instance = BeanValueConverters .builder ().fromServiceLoader ().build ();
2930 }
3031
31- private ValueConverters (Iterable <ValueConverter > valueConverters ) {
32+ private BeanValueConverters (Iterable <BeanValueConverter > valueConverters ) {
3233 super ();
3334 this .valueConverters = valueConverters ;
3435 }
@@ -39,10 +40,10 @@ static Builder builder() {
3940
4041 static final class Builder {
4142
42- private final List <ValueConverter > valueConverters = new ArrayList <>();
43+ private final List <BeanValueConverter > valueConverters = new ArrayList <>();
4344
4445 Builder fromServiceLoader () {
45- ServiceLoader <ValueConverter > sl = ServiceLoader .load (ValueConverter .class );
46+ ServiceLoader <BeanValueConverter > sl = ServiceLoader .load (BeanValueConverter .class );
4647 // If any failes to load we will fail entirely.
4748 // The value converters found earlier in the classpath take precedence.
4849 sl .forEach (this ::add );
@@ -57,7 +58,7 @@ Builder fromServiceLoader() {
5758 * @param vc
5859 * @return
5960 */
60- Builder add (ValueConverter vc ) {
61+ Builder add (BeanValueConverter vc ) {
6162 valueConverters .add (vc );
6263 return this ;
6364 }
@@ -67,12 +68,12 @@ Builder clear() {
6768 return this ;
6869 }
6970
70- ValueConverters build () {
71- return new ValueConverters (valueConverters );
71+ BeanValueConverters build () {
72+ return new BeanValueConverters (valueConverters );
7273 }
7374
74- ValueConverters set () {
75- ValueConverters vc = build ();
75+ BeanValueConverters set () {
76+ BeanValueConverters vc = build ();
7677 Hidden .instance = vc ;
7778 return vc ;
7879 }
@@ -89,9 +90,9 @@ ValueConverters set() {
8990 * @throws TypeMismatchException
9091 * failure in a converter
9192 */
92- public @ Nullable Object convert (ValueContainer v , Class <?> c ) throws TypeMismatchException {
93+ public @ Nullable Object convert (Value v , Class <?> c ) throws TypeMismatchException {
9394 Object result = null ;
94- for (ValueConverter vc : valueConverters ) {
95+ for (BeanValueConverter vc : valueConverters ) {
9596 if (vc .supportsType (c )) {
9697 result = vc .convert (v , c );
9798 if (result != null ) {
@@ -107,8 +108,8 @@ ValueConverters set() {
107108 *
108109 * @return the shared singleton used by Jooby
109110 */
110- public static ValueConverters getInstance () {
111- return ValueConverters .Hidden .instance ;
111+ public static BeanValueConverters getInstance () {
112+ return BeanValueConverters .Hidden .instance ;
112113 }
113114
114115}
0 commit comments