Example usage for org.apache.commons.collections4 IteratorUtils filteredListIterator

List of usage examples for org.apache.commons.collections4 IteratorUtils filteredListIterator

Introduction

In this page you can find the example usage for org.apache.commons.collections4 IteratorUtils filteredListIterator.

Prototype

public static <E> ListIterator<E> filteredListIterator(final ListIterator<? extends E> listIterator,
        final Predicate<? super E> predicate) 

Source Link

Document

Gets a list iterator that filters another list iterator.

Usage

From source file:com.replaymod.replaystudio.studio.StudioReplayPartView.java

@Override
public ListIterator<PacketData> iterator() {
    return new ListIterator<PacketData>() {
        private final ListIterator<PacketData> org = IteratorUtils.filteredListIterator(viewed.iterator(),
                (p) -> p.getTime() >= from && p.getTime() <= to);

        @Override//from w  w w . j  ava 2s  . c  o m
        public boolean hasNext() {
            return org.hasNext();
        }

        @Override
        public PacketData next() {
            PacketData next = org.next();
            return new PacketData(next.getTime() - from, next.getPacket());
        }

        @Override
        public boolean hasPrevious() {
            return org.hasPrevious();
        }

        @Override
        public PacketData previous() {
            PacketData next = org.previous();
            return new PacketData(next.getTime() - from, next.getPacket());
        }

        @Override
        public int nextIndex() {
            return org.nextIndex();
        }

        @Override
        public int previousIndex() {
            return org.previousIndex();
        }

        @Override
        public void remove() {
            org.remove();
        }

        @Override
        public void set(PacketData packetData) {
            org.set(new PacketData(packetData.getTime() + from, packetData.getPacket()));
        }

        @Override
        public void add(PacketData packetData) {
            org.add(new PacketData(packetData.getTime() + from, packetData.getPacket()));
        }
    };
}