Skip to content

Commit 667f0fa

Browse files
committed
Bind primitives and string as constants
1 parent 570e5fb commit 667f0fa

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

jooby/src/main/java/org/jooby/internal/StaticMethodTypeConverter.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import org.jooby.internal.reqparam.StaticMethodParamConverter;
2222

23+
import com.google.common.primitives.Primitives;
2324
import com.google.inject.TypeLiteral;
2425
import com.google.inject.matcher.AbstractMatcher;
2526
import com.google.inject.spi.TypeConverter;
@@ -44,8 +45,11 @@ public Object convert(final String value, final TypeLiteral<?> type) {
4445

4546
@Override
4647
public boolean matches(final TypeLiteral<T> type) {
47-
return !Enum.class.isAssignableFrom(type.getRawType())
48-
&& converter.matches(type);
48+
Class<? super T> rawType = type.getRawType();
49+
if (Primitives.isWrapperType(rawType)) {
50+
return false;
51+
}
52+
return !Enum.class.isAssignableFrom(rawType) && converter.matches(type);
4953
}
5054

5155
@Override

jooby/src/main/java/org/jooby/internal/StringConstructTypeConverter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.jooby.internal.reqparam.LocaleParamConverter;
2424
import org.jooby.internal.reqparam.StringConstructorParamConverter;
2525

26+
import com.google.common.primitives.Primitives;
2627
import com.google.inject.TypeLiteral;
2728
import com.google.inject.matcher.AbstractMatcher;
2829
import com.google.inject.spi.TypeConverter;
@@ -45,6 +46,10 @@ public Object convert(final String value, final TypeLiteral<?> type) {
4546

4647
@Override
4748
public boolean matches(final TypeLiteral<T> type) {
49+
Class<? super T> rawType = type.getRawType();
50+
if (Primitives.isWrapperType(rawType)) {
51+
return false;
52+
}
4853
return new StringConstructorParamConverter().matches(type);
4954
}
5055

0 commit comments

Comments
 (0)