@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 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; } }
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() ); }
@Override public boolean equalsSnapshot(PersistentCollectionDescriptor<?,?,E> collectionDescriptor) throws HibernateException { 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 || collectionDescriptor.isDirty( oldValue, test, getSession() ) ) { return false; } } return true; } }
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; } }
@Override @SuppressWarnings("unchecked") public Iterator getDeletes(PersistentCollectionDescriptor descriptor, boolean indexIsFormula) throws HibernateException { 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 && descriptor.isDirty( test, oldValue, getSession() ) ) { // the element has changed deletes.add( oldValue ); } } return deletes.iterator(); }
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 Iterator getDeletes(CollectionPersister persister, boolean indexIsFormula) throws HibernateException { Type elementType = persister.getElementType(); final java.util.Map sn = (java.util.Map) getSnapshot(); ArrayList deletes = new ArrayList( sn.size() ); Iterator iter = sn.keySet().iterator(); while ( iter.hasNext() ) { Object test = iter.next(); if ( !set.contains(test) ) { // the element has been removed from the set deletes.add(test); } } iter = set.iterator(); while ( iter.hasNext() ) { Object test = iter.next(); Object oldValue = sn.get(test); if ( oldValue!=null && elementType.isDirty( test, oldValue, getSession() ) ) { // the element has changed deletes.add(oldValue); } } return deletes.iterator(); }
public Iterator getDeletes(CollectionPersister persister, boolean indexIsFormula) throws HibernateException { Type elementType = persister.getElementType(); final java.util.Map sn = (java.util.Map) getSnapshot(); ArrayList deletes = new ArrayList( sn.size() ); Iterator iter = sn.keySet().iterator(); while ( iter.hasNext() ) { Object test = iter.next(); if ( !set.contains(test) ) { // the element has been removed from the set deletes.add(test); } } iter = set.iterator(); while ( iter.hasNext() ) { Object test = iter.next(); Object oldValue = sn.get(test); if ( oldValue!=null && elementType.isDirty( test, oldValue, getSession() ) ) { // the element has changed deletes.add(oldValue); } } return deletes.iterator(); }
@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() ); }