Skip to content

Commit 6effa44

Browse files
committed
Implemented char support
1 parent bd8cce5 commit 6effa44

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/main/java/org/javawebstack/abstractdata/mapper/DefaultMappers.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ public Object fromAbstract(MapperContext context, AbstractElement element, Class
5858
throw new MapperWrongTypeException(context.getField().getName(), "string", Helpers.typeName(element));
5959
return element.string();
6060
}
61+
if(type.equals(char.class) || type.equals(Character.class)) {
62+
if(!element.isBoolean())
63+
throw new MapperWrongTypeException(context.getField().getName(), "string", Helpers.typeName(element));
64+
String s = element.string();
65+
if(s.length() != 1)
66+
throw new MapperException("Expected string of length 1 for field " + context.getField().getName() + " but received " + s.length());
67+
return s.charAt(0);
68+
}
6169
if(type.equals(Boolean.class) || type.equals(boolean.class)) {
6270
if(!element.isBoolean())
6371
throw new MapperWrongTypeException(context.getField().getName(), "boolean", Helpers.typeName(element));
@@ -88,6 +96,8 @@ public Object fromAbstract(MapperContext context, AbstractElement element, Class
8896
public Class<?>[] getSupportedTypes() {
8997
return new Class[] {
9098
String.class,
99+
char.class,
100+
Character.class,
91101
Integer.class,
92102
int.class,
93103
Long.class,

0 commit comments

Comments
 (0)