First fetch from the backingMap.
This commit is contained in:
parent
265947586c
commit
bf1d5f217f
2 changed files with 11 additions and 8 deletions
2
pom.xml
2
pom.xml
|
@ -5,7 +5,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>net.helenus</groupId>
|
<groupId>net.helenus</groupId>
|
||||||
<artifactId>helenus-net-core</artifactId>
|
<artifactId>helenus-net-core</artifactId>
|
||||||
<version>2.0.47-SNAPSHOT</version>
|
<version>2.0.48-SNAPSHOT</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>helenus</name>
|
<name>helenus</name>
|
||||||
|
|
|
@ -28,18 +28,21 @@ public abstract class AbstractEntityDraft<E> implements Drafted<E> {
|
||||||
public E build() { return Helenus.map(getEntityClass(), toMap()); }
|
public E build() { return Helenus.map(getEntityClass(), toMap()); }
|
||||||
|
|
||||||
protected <T> T get(String key, Class<?> returnType) {
|
protected <T> T get(String key, Class<?> returnType) {
|
||||||
T value = (T) entityMap.get(key);
|
T value = (T) backingMap.get(key);
|
||||||
|
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
|
value = (T) entityMap.get(key);
|
||||||
|
if (value == null) {
|
||||||
|
|
||||||
if (Primitives.allPrimitiveTypes().contains(returnType)) {
|
if (Primitives.allPrimitiveTypes().contains(returnType)) {
|
||||||
|
|
||||||
DefaultPrimitiveTypes type = DefaultPrimitiveTypes.lookup(returnType);
|
DefaultPrimitiveTypes type = DefaultPrimitiveTypes.lookup(returnType);
|
||||||
if (type == null) {
|
if (type == null) {
|
||||||
throw new RuntimeException("unknown primitive type " + returnType);
|
throw new RuntimeException("unknown primitive type " + returnType);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (T) type.getDefaultValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
return (T) type.getDefaultValue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue