List of usage examples for org.apache.commons.collections4.iterators TransformIterator TransformIterator
public TransformIterator(final Iterator<? extends I> iterator)
TransformIterator
that won't transform elements from the given iterator. From source file:com.github.helenusdriver.driver.impl.PersistedSet.java
/** * {@inheritDoc}/*from w w w .ja v a 2 s . c o m*/ * * @author paouelle * * @see java.util.Set#iterator() */ @Override public Iterator<T> iterator() { return new TransformIterator<PersistedValue<T, PT>, T>(set.iterator()) { @Override protected T transform(PersistedValue<T, PT> pv) { return pv.getDecodedValue(); } }; }
From source file:com.github.helenusdriver.driver.impl.PersistedList.java
/** * {@inheritDoc}/* w w w .jav a 2 s .c o m*/ * * @author paouelle * * @see java.util.List#iterator() */ @Override public Iterator<T> iterator() { return new TransformIterator<PersistedValue<T, PT>, T>(list.iterator()) { @Override protected T transform(PersistedValue<T, PT> pv) { return pv.getDecodedValue(); } }; }
From source file:com.github.helenusdriver.driver.impl.PersistedMap.java
/** * {@inheritDoc}//from w w w. ja v a 2 s . com * * @author paouelle * * @see java.util.Map#values() */ @Override public Collection<T> values() { if (vcol == null) { final Collection<PersistedValue<T, PT>> vcol = map.values(); this.vcol = new AbstractCollection<T>() { @Override public int size() { return vcol.size(); } @Override public boolean isEmpty() { return vcol.isEmpty(); } @Override public Iterator<T> iterator() { return new TransformIterator<PersistedValue<T, PT>, T>(vcol.iterator()) { @Override protected T transform(PersistedValue<T, PT> pv) { return pv.getDecodedValue(); } }; } @Override public Stream<T> stream() { return vcol.stream().map(pv -> pv.getDecodedValue()); } @Override public Stream<T> parallelStream() { return vcol.parallelStream().map(pv -> pv.getDecodedValue()); } @Override public void clear() { vcol.clear(); } @Override public String toString() { return vcol.toString(); } }; } return vcol; }
From source file:com.github.helenusdriver.driver.impl.PersistedMap.java
/** * {@inheritDoc}/*from w w w .ja va 2 s . c o m*/ * * @author paouelle * * @see java.util.Map#entrySet() */ @Override public Set<Map.Entry<K, T>> entrySet() { if (eset == null) { final Set<Map.Entry<K, PersistedValue<T, PT>>> eset = map.entrySet(); this.eset = new AbstractSet<Map.Entry<K, T>>() { @Override public int size() { return eset.size(); } @Override public boolean isEmpty() { return eset.isEmpty(); } @Override public Iterator<Map.Entry<K, T>> iterator() { return new TransformIterator<Map.Entry<K, PersistedValue<T, PT>>, Map.Entry<K, T>>( eset.iterator()) { @Override protected Map.Entry<K, T> transform(Map.Entry<K, PersistedValue<T, PT>> me) { return new Entry(me); } }; } @Override public Stream<Map.Entry<K, T>> stream() { return eset.stream().map(me -> new Entry(me)); } @Override public Stream<Map.Entry<K, T>> parallelStream() { return eset.parallelStream().map(me -> new Entry(me)); } @Override public boolean remove(Object o) { if (!(o instanceof Map.Entry)) { return false; } @SuppressWarnings("unchecked") final Map.Entry<K, T> me = (Map.Entry<K, T>) o; return (map.remove(me.getKey()) != null); } @Override public void clear() { eset.clear(); } @Override public String toString() { return eset.toString(); } }; } return eset; }