io.ebeaninternal.json.ModifyAwareIterator Maven / Gradle / Ivy
package io.ebeaninternal.json;
import io.ebean.ModifyAwareType;
import java.util.Iterator;
/**
* Wraps an iterator for the purposes of detecting modifications.
*/
public final class ModifyAwareIterator implements Iterator {
private final ModifyAwareType owner;
private final Iterator it;
/**
* Create with an Owner and the underlying Iterator this wraps.
*
* The owner is notified of the removals.
*
*/
public ModifyAwareIterator(ModifyAwareType owner, Iterator it) {
this.owner = owner;
this.it = it;
}
@Override
public boolean hasNext() {
return it.hasNext();
}
@Override
public E next() {
return it.next();
}
@Override
public void remove() {
owner.setMarkedDirty(true);
it.remove();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy