private boolean initializeLazyProperty( final String fieldName, final Object entity, final SharedSessionContractImplementor session, final Object[] snapshot, final int j, final Object propValue) { setPropertyValue( entity, lazyPropertyNumbers[j], propValue ); if ( snapshot != null ) { // object have been loaded with setReadOnly(true); HHH-2236 snapshot[lazyPropertyNumbers[j]] = lazyPropertyTypes[j].deepCopy( propValue, factory ); } return fieldName.equals( lazyPropertyNames[j] ); }
@Override @SuppressWarnings( {"unchecked"}) public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final HashMap clonedMap = new HashMap( map.size() ); for ( Object o : map.entrySet() ) { final Entry e = (Entry) o; final Object copy = persister.getElementType().deepCopy( e.getValue(), persister.getFactory() ); clonedMap.put( e.getKey(), copy ); } return clonedMap; }
@SuppressWarnings({"unchecked", "UnusedParameters"}) protected Serializable snapshot(BasicCollectionPersister persister, EntityMode entityMode) throws HibernateException { final TreeMap clonedMap = new TreeMap( comparator ); for ( Object o : map.entrySet() ) { final Entry e = (Entry) o; clonedMap.put( e.getKey(), persister.getElementType().deepCopy( e.getValue(), persister.getFactory() ) ); } return clonedMap; }
@Override @SuppressWarnings( {"unchecked"}) public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final HashMap clonedSet = new HashMap( set.size() ); for ( Object aSet : set ) { final Object copied = persister.getElementType().deepCopy( aSet, persister.getFactory() ); clonedSet.put( copied, copied ); } return clonedSet; }
@Override @SuppressWarnings( {"unchecked"}) public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final ArrayList clonedList = new ArrayList( list.size() ); for ( Object element : list ) { final Object deepCopy = persister.getElementType().deepCopy( element, persister.getFactory() ); clonedList.add( deepCopy ); } return clonedList; }
@Override @SuppressWarnings("unchecked") public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final ArrayList clonedList = new ArrayList( bag.size() ); for ( Object item : bag ) { clonedList.add( persister.getElementType().deepCopy( item, persister.getFactory() ) ); } return clonedList; }
@Override @SuppressWarnings("unchecked") public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final HashMap map = new HashMap( values.size() ); final Iterator iter = values.iterator(); int i=0; while ( iter.hasNext() ) { final Object value = iter.next(); map.put( identifiers.get( i++ ), persister.getElementType().deepCopy( value, persister.getFactory() ) ); } return map; }
@SuppressWarnings({"unchecked", "UnusedParameters"}) protected Serializable snapshot(BasicCollectionPersister persister, EntityMode entityMode) throws HibernateException { final TreeMap clonedSet = new TreeMap( comparator ); for ( Object setElement : set ) { final Object copy = persister.getElementType().deepCopy( setElement, persister.getFactory() ); clonedSet.put( copy, copy ); } return clonedSet; }
/** * Deep copy a series of values from one array to another... * * @param values The values to copy (the source) * @param types The value types * @param copy an array indicating which values to include in the copy * @param target The array into which to copy the values * @param session The originating session */ public static void deepCopy( final Object[] values, final Type[] types, final boolean[] copy, final Object[] target, final SharedSessionContractImplementor session) { for ( int i = 0; i < types.length; i++ ) { if ( copy[i] ) { if ( values[i] == LazyPropertyInitializer.UNFETCHED_PROPERTY || values[i] == PropertyAccessStrategyBackRefImpl.UNKNOWN ) { target[i] = values[i]; } else { target[i] = types[i].deepCopy( values[i], session .getFactory() ); } } } }
@Override public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { // final int length = (array==null) ? tempList.size() : Array.getLength( array ); final int length = Array.getLength( array ); final Serializable result = (Serializable) Array.newInstance( persister.getElementClass(), length ); for ( int i=0; i<length; i++ ) { // final Object elt = (array==null) ? tempList.get( i ) : Array.get( array, i ); final Object elt = Array.get( array, i ); try { Array.set( result, i, persister.getElementType().deepCopy( elt, persister.getFactory() ) ); } catch (IllegalArgumentException iae) { LOG.invalidArrayElementType( iae.getMessage() ); throw new HibernateException( "Array element type error", iae ); } } return result; }
@Override public Object deepCopy(Object component, SessionFactoryImplementor factory) throws HibernateException { if ( component == null ) { return null; } Object[] values = getPropertyValues( component, entityMode ); for ( int i = 0; i < propertySpan; i++ ) { values[i] = propertyTypes[i].deepCopy( values[i], factory ); } Object result = instantiate( entityMode ); setPropertyValues( result, values, entityMode ); //not absolutely necessary, but helps for some //equals()/hashCode() implementations if ( componentTuplizer.hasParentProperty() ) { componentTuplizer.setParent( result, componentTuplizer.getParent( component ), factory ); } return result; }
.deepCopy( id, source.getFactory() ); final Object result = source.get( entityName, clonedIdentifier ); source.getLoadQueryInfluencers().setInternalFetchProfile( previousFetchProfile );
@Override public Object deepCopy(Object value, SessionFactoryImplementor factory) throws HibernateException { return delegate.deepCopy( value, factory ); }
protected Serializable snapshot(BasicCollectionPersister persister, EntityMode entityMode) throws HibernateException { TreeMap clonedMap = new TreeMap(comparator); Iterator iter = map.entrySet().iterator(); while ( iter.hasNext() ) { Map.Entry e = (Map.Entry) iter.next(); clonedMap.put( e.getKey(), persister.getElementType().deepCopy( e.getValue(), entityMode, persister.getFactory() ) ); } return clonedMap; }
protected Serializable snapshot(BasicCollectionPersister persister, EntityMode entityMode) throws HibernateException { TreeMap clonedMap = new TreeMap(comparator); Iterator iter = map.entrySet().iterator(); while ( iter.hasNext() ) { java.util.Map.Entry e = (java.util.Map.Entry) iter.next(); clonedMap.put( e.getKey(), persister.getElementType().deepCopy( e.getValue(), entityMode, persister.getFactory() ) ); } return clonedMap; }
@SuppressWarnings( {"unchecked"}) public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { HashMap clonedMap = new HashMap( map.size() ); for ( Object o : map.entrySet() ) { Entry e = (Entry) o; final Object copy = persister.getElementType().deepCopy( e.getValue(), persister.getFactory() ); clonedMap.put( e.getKey(), copy ); } return clonedMap; }
public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { ArrayList clonedList = new ArrayList( bag.size() ); Iterator iter = bag.iterator(); while ( iter.hasNext() ) { clonedList.add( persister.getElementType().deepCopy( iter.next(), persister.getFactory() ) ); } return clonedList; }
@SuppressWarnings( {"unchecked"}) public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { HashMap clonedMap = new HashMap( map.size() ); for ( Object o : map.entrySet() ) { Entry e = (Entry) o; final Object copy = persister.getElementType().deepCopy( e.getValue(), persister.getFactory() ); clonedMap.put( e.getKey(), copy ); } return clonedMap; }
@Override @SuppressWarnings( {"unchecked"}) public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { final EntityMode entityMode = persister.getOwnerEntityPersister().getEntityMode(); ArrayList clonedList = new ArrayList( list.size() ); for ( Object element : list ) { Object deepCopy = persister.getElementType().deepCopy( element, persister.getFactory() ); clonedList.add( deepCopy ); } return clonedList; }
public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { EntityMode entityMode = getSession().getEntityMode(); HashMap clonedMap = new HashMap( map.size() ); Iterator iter = map.entrySet().iterator(); while ( iter.hasNext() ) { Map.Entry e = (Map.Entry) iter.next(); final Object copy = persister.getElementType() .deepCopy( e.getValue(), entityMode, persister.getFactory() ); clonedMap.put( e.getKey(), copy ); } return clonedMap; }