#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 committed 2018-03-20 17:24:35 +13:00
1 parent 74a9019535
commit 85c4385498
19 files changed
+422 -48

No files matched your search

@@ -1658,8 +1658,19 @@ public class BeanDescriptorManager implements BeanDescriptorMap {
/**
* Create a BeanDescriptor for an ElementCollection target.
*/
public <A> BeanDescriptor<A> createElementDescriptor(DeployBeanDescriptor<A> elementDescriptor) {
return new BeanDescriptorElement<>(this, elementDescriptor);
public <A> BeanDescriptor<A> createElementDescriptor(DeployBeanDescriptor<A> elementDescriptor, ManyType manyType) {
return new BeanDescriptorElement<>(this, elementDescriptor, elementHelper(manyType));
}
private ElementHelp elementHelper(ManyType manyType) {
switch (manyType) {
case LIST: return new ElementHelpList();
case SET: return new ElementHelpSet();
case MAP: return new ElementHelpMap();
default:
throw new IllegalStateException("manyType unexpected "+manyType);
}
}
public void visitMetrics(MetricVisitor visitor) {