public EmbeddedFieldAccessor(EmbeddableDescriptor embeddableDescriptor, Accessor embeddedAccessor, Accessor embeddableAccessor) { this.propertyPath = embeddedAccessor.getName() + "." + embeddableAccessor.getName(); this.embeddableDescriptor = embeddableDescriptor; this.embeddableAccessor = embeddableAccessor; this.embeddedAccessor = embeddedAccessor; }
public BaseProperty(ClassDescriptor owner, Accessor accessor) { if (accessor == null) { throw new IllegalArgumentException("Null accessor"); } this.accessor = accessor; this.owner = owner; this.name = accessor.getName(); }
/** * Returns an embeddable object for the owner object, initializing embeddable if it is * null. Currently supports only one level of embedding. */ protected Object getEmbeddable(Object owner) { Object embeddable = embeddedAccessor.getValue(owner); if (embeddable == null) { embeddable = embeddableDescriptor.createObject(owner, embeddedAccessor .getName()); embeddedAccessor.setValue(owner, embeddable); } return embeddable; } }