diff --git a/README.adoc b/README.adoc
index 8614fdb..a0beb71 100644
--- a/README.adoc
+++ b/README.adoc
@@ -1,5 +1,5 @@
= Poiji
-:version: v1.11
+:version: v1.12
image:https://travis-ci.org/ozlerhakan/poiji.svg?branch=master["Build Status", link="https://travis-ci.org/ozlerhakan/poiji"] image:https://api.codacy.com/project/badge/Grade/6587e90886184da29a1b7c5634695c9d["Codacy code quality", link="https://www.codacy.com/app/ozlerhakan/poiji?utm_source=github.com&utm_medium=referral&utm_content=ozlerhakan/poiji&utm_campaign=Badge_Grade"] image:https://coveralls.io/repos/github/ozlerhakan/poiji/badge.svg?branch=master["Coverage Status", link="https://coveralls.io/github/ozlerhakan/poiji?branch=master"] image:https://img.shields.io/badge/license-MIT-blue.svg[]
@@ -23,7 +23,7 @@ In your Maven/Gradle project, first add the corresponding dependency:
[source,groovy]
----
dependencies {
- compile 'com.github.ozlerhakan:poiji:1.11'
+ compile 'com.github.ozlerhakan:poiji:1.12'
}
----
@@ -76,7 +76,7 @@ public class Employee {
----
<1> As of 1.10, optionally we can access the index of each row item by using the `ExcelRow` annotation. Annotated variable should be of type `int`, `double`, `float` or `long`.
<2> A field must be annotated with `@ExcelCell` along with its property in order to get the value from the right coordinate in the target excel sheet.
-<3> An annotated field can be either protected, private or public modifier. The field may be either of `boolean`, `int`, `long`, `float`, `double`, `java.util.Date` or `String`.
+<3> An annotated field can be either protected, private or public modifier. The field may be either of `boolean`, `int`, `long`, `float`, `double`, or their wrapper classes. You can add a field of `java.util.Date` or `String`.
This is the excel file (`employees.xlsx`) we want to map to a list of `Employee` instance:
diff --git a/pom.xml b/pom.xml
index e5c1430..fee1f28 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.github.ozlerhakan
poiji
- 1.11
+ 1.12
jar
poiji
diff --git a/src/main/java/com/poiji/util/Casting.java b/src/main/java/com/poiji/util/Casting.java
index ff84a02..d1625f8 100644
--- a/src/main/java/com/poiji/util/Casting.java
+++ b/src/main/java/com/poiji/util/Casting.java
@@ -70,23 +70,24 @@ private Date dateValue(String value, PoijiOptions options) {
public Object castValue(Class> fieldType, String value, PoijiOptions options) {
Object o;
- if (fieldType.getName().equals("int")) {
+ if (fieldType.getName().equals("int") || fieldType.getName().equals("java.lang.Integer")) {
o = integerValue(Objects.equals(value, "") ? "0" : value);
- } else if (fieldType.getName().equals("long")) {
+ } else if (fieldType.getName().equals("long") || fieldType.getName().equals("java.lang.Long")) {
o = longValue(Objects.equals(value, "") ? "0" : value);
- } else if (fieldType.getName().equals("double")) {
+ } else if (fieldType.getName().equals("double") || fieldType.getName().equals("java.lang.Double")) {
o = doubleValue(Objects.equals(value, "") ? "0" : value);
- } else if (fieldType.getName().equals("float")) {
+ } else if (fieldType.getName().equals("float") || fieldType.getName().equals("java.lang.Float")) {
o = floatValue(Objects.equals(value, "") ? "0" : value);
- } else if (fieldType.getName().equals("boolean")) {
+ } else if (fieldType.getName().equals("boolean") || fieldType.getName().equals("java.lang.Boolean")) {
o = Boolean.valueOf(value);
- } else if (fieldType.getName().equals("java.util.Date")) {
+ } else if (fieldType.getName().equals("java.util.Date")) {
o = dateValue(value, options);
+
} else
o = value;
return o;
diff --git a/src/test/java/com/poiji/deserialize/model/byid/Employee.java b/src/test/java/com/poiji/deserialize/model/byid/Employee.java
index 439b55a..1879f68 100644
--- a/src/test/java/com/poiji/deserialize/model/byid/Employee.java
+++ b/src/test/java/com/poiji/deserialize/model/byid/Employee.java
@@ -17,7 +17,7 @@ public class Employee {
protected String surname;
@ExcelCell(3)
- protected int age;
+ protected Integer age;
@ExcelCell(4)
protected boolean single;
@@ -83,7 +83,7 @@ public String toString() {
"employeeId=" + employeeId +
", name='" + name + '\'' +
", surname='" + surname + '\'' +
- ", age=" + age +
+ ", age=" + (age == null ? 0 : age) +
", single=" + single +
", birthday='" + birthday + '\'' +
'}';