/* */ package com.ibm.icu.impl; /* */ /* */ import com.ibm.icu.text.UCharacterIterator; /* */ import java.text.CharacterIterator; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public class CharacterIteratorWrapper /* */ extends UCharacterIterator /* */ { /* */ private CharacterIterator iterator; /* */ /* */ public CharacterIteratorWrapper(CharacterIterator iter) /* */ { /* 25 */ if (iter == null) { /* 26 */ throw new IllegalArgumentException(); /* */ } /* 28 */ this.iterator = iter; /* */ } /* */ /* */ /* */ /* */ public int current() /* */ { /* 35 */ int c = this.iterator.current(); /* 36 */ if (c == 65535) { /* 37 */ return -1; /* */ } /* 39 */ return c; /* */ } /* */ /* */ /* */ /* */ public int getLength() /* */ { /* 46 */ return this.iterator.getEndIndex() - this.iterator.getBeginIndex(); /* */ } /* */ /* */ /* */ /* */ public int getIndex() /* */ { /* 53 */ return this.iterator.getIndex(); /* */ } /* */ /* */ /* */ /* */ public int next() /* */ { /* 60 */ int i = this.iterator.current(); /* 61 */ this.iterator.next(); /* 62 */ if (i == 65535) { /* 63 */ return -1; /* */ } /* 65 */ return i; /* */ } /* */ /* */ /* */ /* */ public int previous() /* */ { /* 72 */ int i = this.iterator.previous(); /* 73 */ if (i == 65535) { /* 74 */ return -1; /* */ } /* 76 */ return i; /* */ } /* */ /* */ /* */ public void setIndex(int index) /* */ { /* */ try /* */ { /* 84 */ this.iterator.setIndex(index); /* */ } catch (IllegalArgumentException e) { /* 86 */ throw new IndexOutOfBoundsException(); /* */ } /* */ } /* */ /* */ /* */ /* */ public void setToLimit() /* */ { /* 94 */ this.iterator.setIndex(this.iterator.getEndIndex()); /* */ } /* */ /* */ /* */ /* */ public int getText(char[] fillIn, int offset) /* */ { /* 101 */ int length = this.iterator.getEndIndex() - this.iterator.getBeginIndex(); /* 102 */ int currentIndex = this.iterator.getIndex(); /* 103 */ if ((offset < 0) || (offset + length > fillIn.length)) { /* 104 */ throw new IndexOutOfBoundsException(Integer.toString(length)); /* */ } /* */ /* 107 */ for (char ch = this.iterator.first(); ch != 65535; ch = this.iterator.next()) { /* 108 */ fillIn[(offset++)] = ch; /* */ } /* 110 */ this.iterator.setIndex(currentIndex); /* */ /* 112 */ return length; /* */ } /* */ /* */ /* */ /* */ public Object clone() /* */ { /* */ try /* */ { /* 121 */ CharacterIteratorWrapper result = (CharacterIteratorWrapper)super.clone(); /* 122 */ result.iterator = ((CharacterIterator)this.iterator.clone()); /* 123 */ return result; /* */ } catch (CloneNotSupportedException e) {} /* 125 */ return null; /* */ } /* */ /* */ /* */ public int moveIndex(int delta) /* */ { /* 131 */ int length = this.iterator.getEndIndex() - this.iterator.getBeginIndex(); /* 132 */ int idx = this.iterator.getIndex() + delta; /* */ /* 134 */ if (idx < 0) { /* 135 */ idx = 0; /* 136 */ } else if (idx > length) { /* 137 */ idx = length; /* */ } /* 139 */ return this.iterator.setIndex(idx); /* */ } /* */ /* */ /* */ /* */ public CharacterIterator getCharacterIterator() /* */ { /* 146 */ return (CharacterIterator)this.iterator.clone(); /* */ } /* */ } /* Location: C:\Users\Ethan\Desktop\FontZip\FontTool\sfnttool.jar!\com\ibm\icu\impl\CharacterIteratorWrapper.class * Java compiler version: 5 (49.0) * JD-Core Version: 0.7.1 */