BeanDescriptorElementEmbedded(BeanDescriptorMap owner, DeployBeanDescriptor<T> deploy, ElementHelp elementHelp) { super(owner, deploy, elementHelp); try { this.prototype = (EntityBean) beanType.newInstance(); } catch (Exception e) { throw new IllegalStateException("Unable to create entity bean prototype for "+beanType); } BeanPropertyAssocOne<?>[] embedded = propertiesEmbedded(); if (embedded.length == 1) { embeddedProperty = embedded[0]; } else { embeddedProperty = null; } }
@Override public T jsonRead(SpiJsonReader jsonRead, String path) throws IOException { return readJsonElement(jsonRead, path); }
@Override public void jsonWriteElement(SpiJsonWriter ctx, Object element) { writeJsonElement(ctx, element); }
/** * Create a BeanDescriptor for an ElementCollection target. */ public <A> BeanDescriptor<A> createElementDescriptor(DeployBeanDescriptor<A> elementDescriptor, ManyType manyType, boolean scalar) { ElementHelp elementHelp = elementHelper(manyType); if (manyType.isMap()) { if (scalar) { return new BeanDescriptorElementScalarMap<>(this, elementDescriptor, elementHelp); } else { return new BeanDescriptorElementEmbeddedMap<>(this, elementDescriptor, elementHelp); } } if (scalar) { return new BeanDescriptorElementScalar<>(this, elementDescriptor, elementHelp); } else { return new BeanDescriptorElementEmbedded<>(this, elementDescriptor, elementHelp); } }
/** * Create a BeanDescriptor for an ElementCollection target. */ public <A> BeanDescriptor<A> createElementDescriptor(DeployBeanDescriptor<A> elementDescriptor, ManyType manyType, boolean scalar) { ElementHelp elementHelp = elementHelper(manyType); if (manyType.isMap()) { if (scalar) { return new BeanDescriptorElementScalarMap<>(this, elementDescriptor, elementHelp); } else { return new BeanDescriptorElementEmbeddedMap<>(this, elementDescriptor, elementHelp); } } if (scalar) { return new BeanDescriptorElementScalar<>(this, elementDescriptor, elementHelp); } else { return new BeanDescriptorElementEmbedded<>(this, elementDescriptor, elementHelp); } }
@Override public void jsonWriteElement(SpiJsonWriter ctx, Object element) { writeJsonElement(ctx, element); }
@Override public T jsonRead(SpiJsonReader jsonRead, String path) throws IOException { return readJsonElement(jsonRead, path); }
BeanDescriptorElementEmbedded(BeanDescriptorMap owner, DeployBeanDescriptor<T> deploy, ElementHelp elementHelp) { super(owner, deploy, elementHelp); try { this.prototype = (EntityBean) beanType.newInstance(); } catch (Exception e) { throw new IllegalStateException("Unable to create entity bean prototype for "+beanType); } BeanPropertyAssocOne<?>[] embedded = propertiesEmbedded(); if (embedded.length == 1) { embeddedProperty = embedded[0]; } else { embeddedProperty = null; } }