001package net.automatalib.commons.util.collections; 002 003import java.util.ListIterator; 004 005public class CharRangeIterator implements ListIterator<Character> { 006 007 private final IntRangeIterator delegate; 008 009 public CharRangeIterator(char low, int step, int size) { 010 this(low, step, size, 0); 011 } 012 013 public CharRangeIterator(char low, int step, int size, int curr) { 014 this(new IntRangeIterator(low, step, size, curr)); 015 } 016 017 018 public CharRangeIterator(IntRangeIterator delegate) { 019 this.delegate = delegate; 020 } 021 022 @Override 023 public boolean hasNext() { 024 return delegate.hasNext(); 025 } 026 027 @Override 028 public Character next() { 029 return Character.valueOf((char)delegate.intNext()); 030 } 031 032 @Override 033 public boolean hasPrevious() { 034 return delegate.hasPrevious(); 035 } 036 037 @Override 038 public Character previous() { 039 return Character.valueOf((char)delegate.intPrevious()); 040 } 041 042 @Override 043 public int nextIndex() { 044 return delegate.nextIndex(); 045 } 046 047 @Override 048 public int previousIndex() { 049 return delegate.previousIndex(); 050 } 051 052 @Override 053 public void remove() { 054 throw new UnsupportedOperationException(); 055 } 056 057 @Override 058 public void set(Character e) { 059 throw new UnsupportedOperationException(); 060 } 061 062 @Override 063 public void add(Character e) { 064 throw new UnsupportedOperationException(); 065 } 066 067}