@Override public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException { final List sn = (List) getSnapshot(); return i < sn.size() && sn.get( i ) != null && list.get( i ) != null && elemType.isDirty( list.get( i ), sn.get( i ), getSession() ); }
@Override @SuppressWarnings("unchecked") public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException { final Map sn = (Map) getSnapshot(); final Map.Entry e = (Map.Entry) entry; final Object snValue = sn.get( e.getKey() ); return e.getValue() != null && snValue != null && elemType.isDirty( snValue, e.getValue(), getSession() ); }
@Override public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException { final 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() ); }
@Override public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException { if ( entry == null ) { return false; } final Map snap = (Map) getSnapshot(); final Object id = identifiers.get( i ); if ( id == null ) { return false; } final Object old = snap.get( id ); return old != null && elemType.isDirty( old, entry, getSession() ); }
@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 public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { final Type elementType = persister.getElementType(); final Map snapshotMap = (Map) getSnapshot(); if ( snapshotMap.size() != this.map.size() ) { return false; } for ( Object o : map.entrySet() ) { final Entry entry = (Entry) o; if ( elementType.isDirty( entry.getValue(), snapshotMap.get( entry.getKey() ), getSession() ) ) { return false; } } return true; }
@Override public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { final Type elementType = persister.getElementType(); final List sn = (List) getSnapshot(); if ( sn.size()!=this.list.size() ) { return false; } final Iterator itr = list.iterator(); final Iterator snapshotItr = sn.iterator(); while ( itr.hasNext() ) { if ( elementType.isDirty( itr.next(), snapshotItr.next(), getSession() ) ) { return false; } } return true; }
@Override public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { final Type elementType = persister.getElementType(); final Serializable snapshot = getSnapshot(); final 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; }
@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 isDirty(final Object x, final Object y, final SharedSessionContractImplementor session) throws HibernateException { if ( x == y ) { return false; } // null value and empty component are considered equivalent for ( int i = 0; i < propertySpan; i++ ) { if ( propertyTypes[i].isDirty( getPropertyValue( x, i ), getPropertyValue( y, i ), session ) ) { return true; } } return false; }
@Override public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { final Type elementType = persister.getElementType(); final Map snap = (Map) getSnapshot(); if ( snap.size()!= values.size() ) { return false; } for ( int i=0; i<values.size(); i++ ) { final Object value = values.get( i ); final Object id = identifiers.get( i ); if ( id == null ) { return false; } final Object old = snap.get( id ); if ( elementType.isDirty( old, value, getSession() ) ) { return false; } } return true; }
@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; } }
( previousState[i] == LazyPropertyInitializer.UNFETCHED_PROPERTY || ( properties[i].isDirtyCheckable() && properties[i].getType().isDirty( previousState[i], currentState[i], includeColumns[i], session ) ) ); if ( dirty ) { if ( results == null ) {
@Override public boolean isModified( Object old, Object current, boolean[] checkable, SharedSessionContractImplementor session) throws HibernateException { if ( current == null ) { return old!=null; } if ( old == null ) { // we already know current is not null... return true; } // the ids are fully resolved, so compare them with isDirty(), not isModified() return getIdentifierOrUniqueKeyType( session.getFactory() ) .isDirty( old, getIdentifier( current, session ), session ); }
@Override public boolean isDirty( Object old, Object current, SharedSessionContractImplementor session) throws HibernateException { if ( isSame( old, current ) ) { return false; } Object oldid = getIdentifier( old, session ); Object newid = getIdentifier( current, session ); return getIdentifierType( session ).isDirty( oldid, newid, session ); }
if ( len <= 1 ) { final boolean dirty = ( len == 0 || checkable[loc] ) && propertyTypes[i].isDirty( getPropertyValue( x, i ), getPropertyValue( y, i ), session ); if ( dirty ) { return true; boolean[] subcheckable = new boolean[len]; System.arraycopy( checkable, loc, subcheckable, 0, len ); final boolean dirty = propertyTypes[i].isDirty( getPropertyValue( x, i ), getPropertyValue( y, i ),
@Override public boolean isDirty( Object old, Object current, boolean[] checkable, SharedSessionContractImplementor session) throws HibernateException { if ( isAlwaysDirtyChecked() ) { return isDirty( old, current, session ); } else { if ( isSame( old, current ) ) { return false; } Object oldid = getIdentifier( old, session ); Object newid = getIdentifier( current, session ); return getIdentifierType( session ).isDirty( oldid, newid, checkable, session ); } }
public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException { final java.util.List sn = (java.util.List) getSnapshot(); return i<sn.size() && sn.get(i)!=null && list.get(i)!=null && elemType.isDirty( list.get(i), sn.get(i), getSession() ); }
public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { Type elementType = persister.getElementType(); java.util.Map xmap = (java.util.Map) getSnapshot(); if ( xmap.size()!=this.map.size() ) return false; Iterator iter = map.entrySet().iterator(); while ( iter.hasNext() ) { java.util.Map.Entry entry = (java.util.Map.Entry) iter.next(); if ( elementType.isDirty( entry.getValue(), xmap.get( entry.getKey() ), getSession() ) ) return false; } return true; }
public boolean needsUpdating(Object entry, int i, Type elementType) throws HibernateException { HashMap snapshot = (HashMap) getSnapshot(); IndexedValue iv = (IndexedValue) entry; Object old = snapshot.get( iv.index ); return old!=null && elementType.isDirty( old, iv.value, getSession() ); }