diff options
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/PortRange.java')
| -rw-r--r-- | src/main/java/com/it_jaros/jscanner/PortRange.java | 36 |
1 files changed, 3 insertions, 33 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/PortRange.java b/src/main/java/com/it_jaros/jscanner/PortRange.java index 9e66371..3a735c5 100644 --- a/src/main/java/com/it_jaros/jscanner/PortRange.java +++ b/src/main/java/com/it_jaros/jscanner/PortRange.java @@ -2,17 +2,12 @@ package com.it_jaros.jscanner; import java.util.BitSet; import java.util.Iterator; -import java.util.NoSuchElementException; -public class PortRange implements Iterator<Integer> { +public class PortRange { public static final int MIN_PORT = 1; public static final int MAX_PORT = 65535; private final BitSet specifiedPorts = new BitSet(MAX_PORT); - private final BitSet availablePorts = new BitSet(MAX_PORT); - - private int currentPortCursor; - private int done = 0; public PortRange(String ports) { if (ports == null || "".equals(ports)) { @@ -22,9 +17,6 @@ public class PortRange implements Iterator<Integer> { } else { parsePortRange(ports); } - - availablePorts.or(specifiedPorts); - currentPortCursor = availablePorts.nextSetBit(MIN_PORT); } /** @@ -80,29 +72,7 @@ public class PortRange implements Iterator<Integer> { } } - @Override - public Integer next() { - int p = availablePorts.nextSetBit(currentPortCursor); - if (p > 0) { - availablePorts.clear(p); - currentPortCursor = p + 1; - done++; - return p; - } - - throw new NoSuchElementException("Reached end of port range"); - } - - @Override - public boolean hasNext() { - return availablePorts.nextSetBit(currentPortCursor) > 0; - } - - public int getTotal() { - return specifiedPorts.cardinality(); - } - - public int getDone() { - return done; + public Iterator<Integer> iterator() { + return new PortRangeIterator(specifiedPorts); } }
\ No newline at end of file |
