@Override public boolean needsInserting(Object entry, int i, Type elemType) throws HibernateException { final Map snap = (Map) getSnapshot(); final Object id = identifiers.get( i ); return entry != null && ( id==null || snap.get( id )==null ); }
@Override public Object getSnapshotElement(Object entry, int i) { final Map snap = (Map) getSnapshot(); final Object id = identifiers.get( i ); return snap.get( id ); }
@Override @SuppressWarnings("unchecked") public Iterator getDeletes(CollectionPersister persister, boolean indexIsFormula) throws HibernateException { final Map snap = (Map) getSnapshot(); final List deletes = new ArrayList( snap.keySet() ); for ( int i=0; i<values.size(); i++ ) { if ( values.get( i ) != null ) { deletes.remove( identifiers.get( i ) ); } } return deletes.iterator(); }
@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 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; }
public boolean needsInserting(Object entry, int i, Type elemType) throws HibernateException { Map snap = (Map) getSnapshot(); Object id = identifiers.get( i ); return entry!=null && ( id==null || snap.get(id)==null ); }
public Object getSnapshotElement(Object entry, int i) { Map snap = (Map) getSnapshot(); Object id = identifiers.get( i ); return snap.get(id); }
@Override public boolean needsInserting(Object entry, int i) throws HibernateException { final Map snap = (Map) getSnapshot(); final Object id = identifiers.get( i ); return entry != null && ( id==null || snap.get( id )==null ); }
public Object getSnapshotElement(Object entry, int i) { Map snap = (Map) getSnapshot(); Object id = identifiers.get( i ); return snap.get(id); }
@Override public E getSnapshotElement(Object entry, int index) { final Map<?,E> snap = (Map) getSnapshot(); final Object id = identifiers.get( index ); return snap.get( id ); }
public boolean needsInserting(Object entry, int i, Type elemType) throws HibernateException { Map snap = (Map) getSnapshot(); Object id = identifiers.get( i ); return entry!=null && ( id==null || snap.get(id)==null ); }
public Iterator getDeletes(CollectionPersister persister, boolean indexIsFormula) throws HibernateException { Map snap = (Map) getSnapshot(); List deletes = new ArrayList( snap.keySet() ); for ( int i=0; i<values.size(); i++ ) { if ( values.get(i)!=null ) deletes.remove( identifiers.get( i ) ); } return deletes.iterator(); }
@Override @SuppressWarnings("unchecked") public Iterator getDeletes(PersistentCollectionDescriptor descriptor, boolean indexIsFormula) throws HibernateException { final Map snap = (Map) getSnapshot(); final List deletes = new ArrayList( snap.keySet() ); for ( int i=0; i<values.size(); i++ ) { if ( values.get( i ) != null ) { deletes.remove( identifiers.get( i ) ); } } return deletes.iterator(); }
public Iterator getDeletes(CollectionPersister persister, boolean indexIsFormula) throws HibernateException { Map snap = (Map) getSnapshot(); List deletes = new ArrayList( snap.keySet() ); for ( int i=0; i<values.size(); i++ ) { if ( values.get(i)!=null ) deletes.remove( identifiers.get( i ) ); } return deletes.iterator(); }
public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { Type elementType = persister.getElementType(); Map snap = (Map) getSnapshot(); if ( snap.size()!= values.size() ) return false; for ( int i=0; i<values.size(); i++ ) { Object value = values.get(i); Object id = identifiers.get( i ); if (id==null) return false; Object old = snap.get(id); if ( elementType.isDirty( old, value, getSession() ) ) return false; } return true; }
public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException { if (entry==null) return false; Map snap = (Map) getSnapshot(); Object id = identifiers.get( i ); if (id==null) return false; Object old = snap.get(id); return old!=null && elemType.isDirty( old, entry, getSession() ); }
public boolean needsUpdating(Object entry, int i, Type elemType) throws HibernateException { if (entry==null) return false; Map snap = (Map) getSnapshot(); Object id = identifiers.get( i ); if (id==null) return false; Object old = snap.get(id); return old!=null && elemType.isDirty( old, entry, getSession() ); }
public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { Type elementType = persister.getElementType(); Map snap = (Map) getSnapshot(); if ( snap.size()!= values.size() ) return false; for ( int i=0; i<values.size(); i++ ) { Object value = values.get(i); Object id = identifiers.get( i ); if (id==null) return false; Object old = snap.get(id); if ( elementType.isDirty( old, value, getSession() ) ) return false; } return true; }
@Override public boolean equalsSnapshot(PersistentCollectionDescriptor<?,?,E> collectionDescriptor) throws HibernateException { 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 ( collectionDescriptor.isDirty( old, value, getSession() ) ) { return false; } } return true; }
@Override public boolean needsUpdating(Object entry, int i) 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 && getCollectionDescriptor().isDirty( old, entry, getSession() ); }