1 30 31 package de.susebox.jtopas; 32 33 34 38 55 public class StringSource implements CharSequenceTokenizerSource { 56 57 61 67 public StringSource(String data) { 68 _data = data; 69 } 70 71 72 76 86 public int read(char[] cbuf, final int offset, final int maxChars) throws Exception { 87 int length = (_data != null) ? _data.length() : 0; 88 int left = Math.min(length - _readOffset, maxChars); 89 90 if (left > 0) { 91 _data.getChars(_readOffset, _readOffset + left, cbuf, offset); 92 _readOffset += left; 93 return left; 94 } else { 95 return -1; 96 } 97 } 98 99 103 109 public char charAt(int index) { 110 return _data.charAt(index); 111 } 112 113 118 public int length() { 119 return (_data != null) ? _data.length() : 0; 120 } 121 122 131 public CharSequence subSequence(int start, int end) { 132 return _data.subSequence(start, end); 133 } 134 135 136 private String _data = null; 140 private int _readOffset = 0; 141 } 142 | Popular Tags |