/** * Iterate the "queued" additions */ public final Iterator queuedAdditionIterator() { if ( hasQueuedOperations() ) { return new Iterator() { int i = 0; public Object next() { return ( (DelayedOperation) operationQueue.get(i++) ).getAddedInstance(); } public boolean hasNext() { return i<operationQueue.size(); } public void remove() { throw new UnsupportedOperationException(); } }; } else { return EmptyIterator.INSTANCE; } } /**
/** * Iterate the "queued" additions */ public final Collection getQueuedOrphans(String entityName) { if ( hasQueuedOperations() ) { Collection additions = new ArrayList( operationQueue.size() ); Collection removals = new ArrayList( operationQueue.size() ); for ( int i = 0; i < operationQueue.size(); i++ ) { DelayedOperation op = (DelayedOperation) operationQueue.get(i); additions.add( op.getAddedInstance() ); removals.add( op.getOrphan() ); } return getOrphans(removals, additions, entityName, session); } else { return CollectionHelper.EMPTY_COLLECTION; } }
/** * Called by the <tt>size()</tt> method */ protected boolean readSize() { if (!initialized) { if ( cachedSize!=-1 && !hasQueuedOperations() ) { return true; } else { throwLazyInitializationExceptionIfNotConnected(); CollectionEntry entry = session.getPersistenceContext().getCollectionEntry(this); CollectionPersister persister = entry.getLoadedPersister(); if ( persister.isExtraLazy() ) { if ( hasQueuedOperations() ) { session.flush(); } cachedSize = persister.getSize( entry.getLoadedKey(), session ); return true; } } } read(); return false; }
protected Boolean readElementExistence(Object element) { if (!initialized) { throwLazyInitializationExceptionIfNotConnected(); CollectionEntry entry = session.getPersistenceContext().getCollectionEntry(this); CollectionPersister persister = entry.getLoadedPersister(); if ( persister.isExtraLazy() ) { if ( hasQueuedOperations() ) { session.flush(); } return new Boolean( persister.elementExists( entry.getLoadedKey(), element, session ) ); } } read(); return null; }
protected Boolean readIndexExistence(Object index) { if (!initialized) { throwLazyInitializationExceptionIfNotConnected(); CollectionEntry entry = session.getPersistenceContext().getCollectionEntry(this); CollectionPersister persister = entry.getLoadedPersister(); if ( persister.isExtraLazy() ) { if ( hasQueuedOperations() ) { session.flush(); } return new Boolean( persister.indexExists( entry.getLoadedKey(), index, session ) ); } } read(); return null; }
protected Object readElementByIndex(Object index) { if (!initialized) { throwLazyInitializationExceptionIfNotConnected(); CollectionEntry entry = session.getPersistenceContext().getCollectionEntry(this); CollectionPersister persister = entry.getLoadedPersister(); if ( persister.isExtraLazy() ) { if ( hasQueuedOperations() ) { session.flush(); } return persister.getElementByIndex( entry.getLoadedKey(), index, session, owner ); } } read(); return UNKNOWN; }