#115 - Mapping - Add support for @ElementCollection enhancement

Add simple Map support with Json
This commit is contained in:
Rob Bygrave
2018-03-21 00:15:40 +13:00
parent 85c4385498
commit 057d7480b0
23 changed files with 844 additions and 484 deletions
@@ -0,0 +1,31 @@
package io.ebeaninternal.server.deploy;
import io.ebean.bean.BeanCollection;
import io.ebean.bean.EntityBean;
import io.ebean.common.BeanMap;
import io.ebeaninternal.server.text.json.SpiJsonWriter;
public class BeanMapHelpElement<T> extends BeanMapHelp<T> {
BeanMapHelpElement(BeanPropertyAssocMany<T> many) {
super(many);
}
@Override
public void add(BeanCollection<?> collection, EntityBean bean, boolean withCheck) {
Object key = bean._ebean_getField(0);
Object val = bean._ebean_getField(1);
BeanMap<?, ?> map = ((BeanMap<?, ?>) collection);
if (withCheck) {
map.internalPutWithCheck(key, val);
} else {
map.internalPut(key, val);
}
}
@Override
void jsonWriteElement(SpiJsonWriter ctx, Object element) {
throw new IllegalStateException("not called");
}
}