public PersistentCollection instantiate(SessionImplementor session, CollectionPersister persister, Serializable key) throws HibernateException { return new PersistentArrayHolder(session, persister); }
public Iterator entries(CollectionPersister persister) { return elements(); }
public Collection getOrphans(Serializable snapshot, String entityName) throws HibernateException { Object[] sn = (Object[]) snapshot; Object[] arr = (Object[]) array; ArrayList result = new ArrayList(); for (int i=0; i<sn.length; i++) result.add( sn[i] ); for (int i=0; i<sn.length; i++) identityRemove( result, arr[i], entityName, getSession() ); return result; }
public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException { Serializable sn = getSnapshot(); return i<Array.getLength(sn) && Array.get(sn, i)!=null && Array.get(array, i)!=null && elemType.isDirty( Array.get(array, i), Array.get(sn, i), getSession() ); }
public Object readFrom(ResultSet rs, CollectionPersister persister, CollectionAliases descriptor, Object owner) throws HibernateException, SQLException { Object element = persister.readElement( rs, owner, descriptor.getSuffixedElementAliases(), getSession() ); int index = ( (Integer) persister.readIndex( rs, descriptor.getSuffixedIndexAliases(), getSession() ) ).intValue(); for ( int i = tempList.size(); i<=index; i++) { tempList.add(i, null); } tempList.set(index, element); return element; }
public Object getSnapshotElement(Object entry, int i) { Serializable sn = getSnapshot(); return Array.get(sn, i); }
public PersistentArrayHolder(SessionImplementor session, Object array) { super(session); this.array = array; setInitialized(); }
public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException { Serializable sn = getSnapshot(); return i<Array.getLength(sn) && Array.get(sn, i)!=null && Array.get(array, i)!=null && elemType.isDirty( Array.get(array, i), Array.get(sn, i), getSession() ); }
public Object readFrom(ResultSet rs, CollectionPersister persister, CollectionAliases descriptor, Object owner) throws HibernateException, SQLException { Object element = persister.readElement( rs, owner, descriptor.getSuffixedElementAliases(), getSession() ); int index = ( (Integer) persister.readIndex( rs, descriptor.getSuffixedIndexAliases(), getSession() ) ).intValue(); for ( int i = tempList.size(); i<=index; i++) { tempList.add(i, null); } tempList.set(index, element); return element; }
public Object getSnapshotElement(Object entry, int i) { Serializable sn = getSnapshot(); return Array.get(sn, i); }
public PersistentArrayHolder(SessionImplementor session, Object array) { super(session); this.array = array; setInitialized(); }
public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { Type elementType = persister.getElementType(); Serializable snapshot = getSnapshot(); int xlen = Array.getLength(snapshot); if ( xlen!= Array.getLength(array) ) return false; for ( int i=0; i<xlen; i++) { if ( elementType.isDirty( Array.get(snapshot, i), Array.get(array, i), getSession() ) ) return false; } return true; }
public Serializable disassemble(CollectionPersister persister) throws HibernateException { int length = Array.getLength(array); Serializable[] result = new Serializable[length]; for ( int i=0; i<length; i++ ) { result[i] = persister.getElementType().disassemble( Array.get(array,i), getSession(), null ); } /*int length = tempList.size(); Serializable[] result = new Serializable[length]; for ( int i=0; i<length; i++ ) { result[i] = persister.getElementType().disassemble( tempList.get(i), session ); }*/ return result; }
public Collection getOrphans(Serializable snapshot, String entityName) throws HibernateException { Object[] sn = (Object[]) snapshot; Object[] arr = (Object[]) array; ArrayList result = new ArrayList(); for (int i=0; i<sn.length; i++) result.add( sn[i] ); for (int i=0; i<sn.length; i++) identityRemove( result, arr[i], entityName, getSession() ); return result; }
public boolean needsInserting(Object entry, int i, Type elemType) throws HibernateException { Serializable sn = getSnapshot(); return Array.get(array, i)!=null && ( i >= Array.getLength(sn) || Array.get(sn, i)==null ); }
public boolean endRead() { setInitialized(); array = Array.newInstance( elementClass, tempList.size() ); for ( int i=0; i<tempList.size(); i++) { Array.set(array, i, tempList.get(i) ); } tempList=null; return true; }
public PersistentCollection instantiate(SessionImplementor session, CollectionPersister persister, Serializable key) throws HibernateException { return new PersistentArrayHolder(session, persister); }
public Iterator entries(CollectionPersister persister) { return elements(); }
public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { Type elementType = persister.getElementType(); Serializable snapshot = getSnapshot(); int xlen = Array.getLength(snapshot); if ( xlen!= Array.getLength(array) ) return false; for ( int i=0; i<xlen; i++) { if ( elementType.isDirty( Array.get(snapshot, i), Array.get(array, i), getSession() ) ) return false; } return true; }
public Serializable disassemble(CollectionPersister persister) throws HibernateException { int length = Array.getLength(array); Serializable[] result = new Serializable[length]; for ( int i=0; i<length; i++ ) { result[i] = persister.getElementType().disassemble( Array.get(array,i), getSession(), null ); } /*int length = tempList.size(); Serializable[] result = new Serializable[length]; for ( int i=0; i<length; i++ ) { result[i] = persister.getElementType().disassemble( tempList.get(i), session ); }*/ return result; }