package de.axone.cache.ng; import java.util.Collection; import java.util.Iterator; import de.axone.cache.ng.CacheNG.Cache.Entry; public class IterableEntryAsValue<O> implements Iterable<O> { private final Collection<Entry<O>> values; public IterableEntryAsValue( Collection<Entry<O>> values ) { this.values = values; } @Override public Iterator<O> iterator() { return new ValueIterator(); } private class ValueIterator implements Iterator<O> { Iterator<Entry<O>> entryIterator = values.iterator(); @Override public boolean hasNext() { return entryIterator.hasNext(); } @Override public O next() { return entryIterator.next().data(); } @Override public void remove() { entryIterator.remove(); } } }