/** * Constructs a PersistentCollection instance for holding an array. * * @param session The session * @param persister The persister for the array */ public PersistentArrayHolder(SharedSessionContractImplementor session, CollectionPersister persister) { super( session ); elementClass = persister.getElementClass(); }
@Override public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { final Serializable[] cached = (Serializable[]) disassembled; array = Array.newInstance( persister.getElementClass(), cached.length ); for ( int i=0; i<cached.length; i++ ) { Array.set( array, i, persister.getElementType().assemble( cached[i], getSession(), owner ) ); } }
@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; }
public PersistentArrayHolder(SessionImplementor session, CollectionPersister persister) throws HibernateException { super(session); elementClass = persister.getElementClass(); }
public PersistentArrayHolder(SessionImplementor session, CollectionPersister persister) throws HibernateException { super(session); elementClass = persister.getElementClass(); }
public PersistentArrayHolder(SessionImplementor session, CollectionPersister persister) throws HibernateException { super(session); elementClass = persister.getElementClass(); }
public PersistentArrayHolder(SessionImplementor session, CollectionPersister persister) throws HibernateException { super(session); elementClass = persister.getElementClass(); }
@Override public Class getElementClass() { return persister.getElementClass(); }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] cached = (Serializable[]) disassembled; array = Array.newInstance( persister.getElementClass(), cached.length ); for ( int i=0; i<cached.length; i++ ) { Array.set( array, i, persister.getElementType().assemble( cached[i], getSession(), owner ) ); } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] cached = (Serializable[]) disassembled; array = Array.newInstance( persister.getElementClass(), cached.length ); for ( int i=0; i<cached.length; i++ ) { Array.set( array, i, persister.getElementType().assemble( cached[i], getSession(), owner ) ); } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] cached = (Serializable[]) disassembled; array = Array.newInstance( persister.getElementClass(), cached.length ); for ( int i=0; i<cached.length; i++ ) { Array.set( array, i, persister.getElementType().assemble( cached[i], getSession(), owner ) ); } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] cached = (Serializable[]) disassembled; array = Array.newInstance( persister.getElementClass(), cached.length ); for ( int i=0; i<cached.length; i++ ) { Array.set( array, i, persister.getElementType().assemble( cached[i], getSession(), owner ) ); } }
public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { int length = /*(array==null) ? tempList.size() :*/ Array.getLength(array); Serializable result = (Serializable) Array.newInstance( persister.getElementClass(), length ); for ( int i=0; i<length; i++ ) { Object elt = /*(array==null) ? tempList.get(i) :*/ 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; }
public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { int length = /*(array==null) ? tempList.size() :*/ Array.getLength(array); Serializable result = (Serializable) Array.newInstance( persister.getElementClass(), length ); for ( int i=0; i<length; i++ ) { Object elt = /*(array==null) ? tempList.get(i) :*/ 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; }
public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { EntityMode entityMode = getSession().getEntityMode(); int length = /*(array==null) ? tempList.size() :*/ Array.getLength(array); Serializable result = (Serializable) Array.newInstance( persister.getElementClass(), length ); for ( int i=0; i<length; i++ ) { Object elt = /*(array==null) ? tempList.get(i) :*/ Array.get(array, i); try { Array.set( result, i, persister.getElementType().deepCopy(elt, entityMode, persister.getFactory()) ); } catch (IllegalArgumentException iae) { log.error("Array element type error", iae); throw new HibernateException( "Array element type error", iae ); } } return result; }
protected Serializable snapshot(CollectionPersister persister) throws HibernateException { EntityMode entityMode = getSession().getEntityMode(); int length = /*(array==null) ? tempList.size() :*/ Array.getLength(array); Serializable result = (Serializable) Array.newInstance( persister.getElementClass(), length ); for ( int i=0; i<length; i++ ) { Object elt = /*(array==null) ? tempList.get(i) :*/ Array.get(array, i); try { Array.set( result, i, persister.getElementType().deepCopy(elt, entityMode, persister.getFactory()) ); } catch (IllegalArgumentException iae) { log.error("Array element type error", iae); throw new HibernateException( "Array element type error", iae ); } } return result; }