@Override public Collection getOrphans(Serializable snapshot, String entityName) throws HibernateException { final java.util.Map sn = (java.util.Map) snapshot; return getOrphans( sn.keySet(), set, entityName, getSession() ); }
@Override @SuppressWarnings("unchecked") public Serializable disassemble(CollectionPersister persister) throws HibernateException { final Serializable[] result = new Serializable[ set.size() ]; final Iterator itr = set.iterator(); int i=0; while ( itr.hasNext() ) { result[i++] = persister.getElementType().disassemble( itr.next(), getSession(), null ); } return result; }
@Override @SuppressWarnings("unchecked") public boolean needsInserting(Object entry, int i, Type elemType) throws HibernateException { final Object oldValue = ( (java.util.Map) getSnapshot() ).get( entry ); // note that it might be better to iterate the snapshot but this is safe, // assuming the user implements equals() properly, as required by the Set // contract! return ( oldValue == null && entry != null ) || elemType.isDirty( oldValue, entry, getSession() ); }
@Override @SuppressWarnings("unchecked") public Object readFrom( ResultSet rs, CollectionPersister persister, CollectionAliases descriptor, Object owner) throws HibernateException, SQLException { final Object element = persister.readElement( rs, owner, descriptor.getSuffixedElementAliases(), getSession() ); if ( element != null ) { tempList.add( element ); } return element; }
@Override @SuppressWarnings("unchecked") public Iterator getDeletes(CollectionPersister persister, boolean indexIsFormula) throws HibernateException { final Type elementType = persister.getElementType(); final java.util.Map sn = (java.util.Map) getSnapshot(); final ArrayList deletes = new ArrayList( sn.size() ); Iterator itr = sn.keySet().iterator(); while ( itr.hasNext() ) { final Object test = itr.next(); if ( !set.contains( test ) ) { // the element has been removed from the set deletes.add( test ); } } itr = set.iterator(); while ( itr.hasNext() ) { final Object test = itr.next(); final Object oldValue = sn.get( test ); if ( oldValue!=null && elementType.isDirty( test, oldValue, getSession() ) ) { // the element has changed deletes.add( oldValue ); } } return deletes.iterator(); }
@Override public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { final Type elementType = persister.getElementType(); final java.util.Map sn = (java.util.Map) getSnapshot(); if ( sn.size()!=set.size() ) { return false; } else { for ( Object test : set ) { final Object oldValue = sn.get( test ); if ( oldValue == null || elementType.isDirty( oldValue, test, getSession() ) ) { return false; } } return true; } }
@Override @SuppressWarnings("unchecked") public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { final Serializable[] array = (Serializable[]) disassembled; final int size = array.length; beforeInitialize( persister, size ); for ( Serializable arrayElement : array ) { final Object assembledArrayElement = persister.getElementType().assemble( arrayElement, getSession(), owner ); if ( assembledArrayElement != null ) { set.add( assembledArrayElement ); } } }
@Override public Collection getOrphans(Serializable snapshot, String entityName) throws HibernateException { final java.util.Map sn = (java.util.Map) snapshot; return getOrphans( sn.keySet(), set, entityName, getSession() ); }
public Collection getOrphans(Serializable snapshot, String entityName) throws HibernateException { java.util.Map sn = (java.util.Map) snapshot; return getOrphans( sn.keySet(), set, entityName, getSession() ); }
public Collection getOrphans(Serializable snapshot, String entityName) throws HibernateException { java.util.Map sn = (java.util.Map) snapshot; return getOrphans( sn.keySet(), set, entityName, getSession() ); }
public Serializable disassemble(CollectionPersister persister) throws HibernateException { Serializable[] result = new Serializable[ set.size() ]; Iterator iter = set.iterator(); int i=0; while ( iter.hasNext() ) { result[i++] = persister.getElementType().disassemble( iter.next(), getSession(), null ); } return result; }
public Serializable disassemble(CollectionPersister persister) throws HibernateException { Serializable[] result = new Serializable[ set.size() ]; Iterator iter = set.iterator(); int i=0; while ( iter.hasNext() ) { result[i++] = persister.getElementType().disassemble( iter.next(), getSession(), null ); } return result; }
public Object readFrom( ResultSet rs, CollectionPersister persister, CollectionAliases descriptor, Object owner) throws HibernateException, SQLException { Object element = persister.readElement( rs, owner, descriptor.getSuffixedElementAliases(), getSession() ); if (element!=null) tempList.add(element); return element; }
public boolean needsInserting(Object entry, int i, Type elemType) throws HibernateException { final java.util.Map sn = (java.util.Map) getSnapshot(); Object oldValue = sn.get(entry); // note that it might be better to iterate the snapshot but this is safe, // assuming the user implements equals() properly, as required by the Set // contract! return oldValue==null || elemType.isDirty( oldValue, entry, getSession() ); }
public boolean needsInserting(Object entry, int i, Type elemType) throws HibernateException { final java.util.Map sn = (java.util.Map) getSnapshot(); Object oldValue = sn.get(entry); // note that it might be better to iterate the snapshot but this is safe, // assuming the user implements equals() properly, as required by the Set // contract! return oldValue==null || elemType.isDirty( oldValue, entry, getSession() ); }
public Object readFrom( ResultSet rs, CollectionPersister persister, CollectionAliases descriptor, Object owner) throws HibernateException, SQLException { Object element = persister.readElement( rs, owner, descriptor.getSuffixedElementAliases(), getSession() ); if (element!=null) tempList.add(element); return element; }
public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { Type elementType = persister.getElementType(); java.util.Map sn = (java.util.Map) getSnapshot(); if ( sn.size()!=set.size() ) { return false; } else { Iterator iter = set.iterator(); while ( iter.hasNext() ) { Object test = iter.next(); Object oldValue = sn.get(test); if ( oldValue==null || elementType.isDirty( oldValue, test, getSession() ) ) return false; } return true; } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] array = ( Serializable[] ) disassembled; int size = array.length; beforeInitialize( persister, size ); for (int i = 0; i < size; i++ ) { Object element = persister.getElementType().assemble( array[i], getSession(), owner ); if ( element != null ) { set.add( element ); } } }
public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) throws HibernateException { Serializable[] array = ( Serializable[] ) disassembled; int size = array.length; beforeInitialize( persister, size ); for (int i = 0; i < size; i++ ) { Object element = persister.getElementType().assemble( array[i], getSession(), owner ); if ( element != null ) { set.add( element ); } } }
@Override @SuppressWarnings("unchecked") public boolean needsInserting(Object entry, int i) throws HibernateException { final Object oldValue = ( (java.util.Map) getSnapshot() ).get( entry ); // note that it might be better to iterate the snapshot but this is safe, // assuming the user implements equals() properly, as required by the Set // contract! return ( oldValue == null && entry != null ) || getCollectionDescriptor().isDirty( oldValue, entry, getSession() ); }