/** * INTERNAL: * Build and return a clone of the attribute. */ protected Object buildClonePart(Object original, Object attributeValue, UnitOfWorkImpl unitOfWork) { return buildClonePart(attributeValue, unitOfWork, unitOfWork.isOriginalNewObject(original)); }
/** * INTERNAL: * Build and return a clone of the attribute. */ protected Object buildClonePart(Object original, Object clone, CacheKey cacheKey, Object attributeValue, Integer refreshCascade, AbstractSession cloningSession) { return buildClonePart(attributeValue, clone, cacheKey, refreshCascade, cloningSession, cloningSession.isUnitOfWork() && ((UnitOfWorkImpl)cloningSession).isOriginalNewObject(original)); }
/** * INTERNAL: * Clone the attribute from the original and assign it to the clone. */ @Override public void buildClone(Object original, CacheKey cacheKey, Object clone, Integer refreshCascade, AbstractSession cloningSession) { Object attributeValue = getAttributeValueFromObject(original); setAttributeValueInObject(clone, buildClonePart(original, clone, cacheKey, attributeValue, refreshCascade, cloningSession)); }
/** * INTERNAL: * Clone the attribute from the original and assign it to the clone. */ @Override public void buildClone(Object original, CacheKey cacheKey, Object clone, Integer refreshCascade, AbstractSession cloningSession) { Object attributeValue = getAttributeValueFromObject(original); setAttributeValueInObject(clone, buildClonePart(original, clone, cacheKey, attributeValue, refreshCascade, cloningSession)); }
/** * INTERNAL: * Build and return a clone of the attribute. */ protected Object buildClonePart(Object original, Object clone, CacheKey cacheKey, Object attributeValue, Integer refreshCascade, AbstractSession cloningSession) { return buildClonePart(attributeValue, clone, cacheKey, refreshCascade, cloningSession, cloningSession.isUnitOfWork() && ((UnitOfWorkImpl)cloningSession).isOriginalNewObject(original)); }
/** * INTERNAL: * Clone the attribute from the original and assign it to the clone. */ public void buildClone(Object original, Object clone, UnitOfWorkImpl unitOfWork) { Object attributeValue = getAttributeValueFromObject(original); setAttributeValueInObject(clone, buildClonePart(original, attributeValue, unitOfWork)); }
/** * Build and return a clone of the attribute. */ @Override protected Object buildClonePart(Object original, Object clone, CacheKey cacheKey, Object attributeValue, Integer refreshCascade, AbstractSession clonningSession) { ContainerPolicy cp = this.getContainerPolicy(); if (attributeValue == null) { return cp.containerInstance(); } Object clonedAttributeValue = cp.containerInstance(cp.sizeFor(attributeValue)); for (Object iter = cp.iteratorFor(attributeValue); cp.hasNext(iter);) { Object cloneElement = super.buildClonePart(original, clone, cacheKey, cp.next(iter, clonningSession), refreshCascade, clonningSession); cp.addInto(cloneElement, clonedAttributeValue, clonningSession); } return clonedAttributeValue; }
/** * Build and return a clone of the attribute. */ protected Object buildClonePart(Object original, Object attributeValue, UnitOfWorkImpl unitOfWork) { ContainerPolicy cp = this.getContainerPolicy(); if (attributeValue == null) { return cp.containerInstance(); } Object clonedAttributeValue = cp.containerInstance(cp.sizeFor(attributeValue)); for (Object iter = cp.iteratorFor(attributeValue); cp.hasNext(iter);) { Object cloneElement = super.buildClonePart(original, cp.next(iter, unitOfWork), unitOfWork); cp.addInto(cloneElement, clonedAttributeValue, unitOfWork); } return clonedAttributeValue; }
/** * Build and return a clone of the attribute. */ @Override protected Object buildClonePart(Object original, Object clone, CacheKey cacheKey, Object attributeValue, Integer refreshCascade, AbstractSession clonningSession) { ContainerPolicy cp = this.getContainerPolicy(); if (attributeValue == null) { return cp.containerInstance(); } Object clonedAttributeValue = cp.containerInstance(cp.sizeFor(attributeValue)); for (Object iter = cp.iteratorFor(attributeValue); cp.hasNext(iter);) { Object cloneElement = super.buildClonePart(original, clone, cacheKey, cp.next(iter, clonningSession), refreshCascade, clonningSession); cp.addInto(cloneElement, clonedAttributeValue, clonningSession); } return clonedAttributeValue; }