#115 - Mapping - Add support for @ElementCollection enhancement

Initial support - add simple Set support and Json support for simple List and Set.
This commit is contained in:
Rob Bygrave
2018-03-20 17:24:35 +13:00
parent 74a9019535
commit 85c4385498
19 changed files with 422 additions and 48 deletions
@@ -1,6 +1,12 @@
package io.ebeaninternal.server.deploy;
import io.ebean.PersistenceIOException;
import io.ebean.bean.EntityBean;
import io.ebeaninternal.server.deploy.meta.DeployBeanPropertySimpleCollection;
import io.ebeaninternal.server.text.json.ReadJson;
import io.ebeaninternal.server.text.json.SpiJsonWriter;
import java.io.IOException;
public class BeanPropertySimpleCollection<T> extends BeanPropertyAssocMany<T> {
@@ -27,4 +33,25 @@ public class BeanPropertySimpleCollection<T> extends BeanPropertyAssocMany<T> {
targetDescriptor = descriptor.getBeanDescriptor(targetType);
}
}
/**
* Json write scalar value.
*/
@Override
public void jsonWriteValue(SpiJsonWriter writeJson, Object value) {
try {
scalarType.jsonWrite(writeJson.gen(), value);
} catch (IOException e) {
throw new PersistenceIOException(e);
}
}
public void jsonWriteElementValue(SpiJsonWriter ctx, Object element) {
elementDescriptor.jsonWriteElement(ctx, element);
}
@Override
public Object jsonReadCollection(ReadJson readJson, EntityBean parentBean) throws IOException {
return elementDescriptor.jsonReadCollection(readJson, parentBean);
}
}