1 package org.apache.oro.text.regex; 2 3 59 60 69 final class CharStringPointer { 70 static final char _END_OF_STRING = Character.MAX_VALUE; 71 int _offset; 72 char[] _array; 73 74 CharStringPointer(char[] charArray, int offset) { 75 _array = charArray; 76 _offset = offset; 77 } 78 79 CharStringPointer(char[] charArray) { 80 this(charArray, 0); 81 } 82 83 char _getValue() { 84 return _getValue(_offset); 85 } 86 87 char _getValue(int offset) { 88 if(offset < _array.length && offset >= 0) 89 return _array[offset]; 90 return _END_OF_STRING; 91 } 92 93 char _getValueRelative(int offset) { 94 return _getValue(_offset + offset); 95 } 96 97 int _getLength() { return _array.length; } 98 99 int _getOffset() { return _offset; } 100 101 void _setOffset(int offset) { _offset = offset; } 102 103 boolean _isAtEnd() { 104 return (_offset >= _array.length); 105 } 106 107 char _increment(int inc) { 108 _offset+=inc; 109 if(_isAtEnd()) { 110 _offset = _array.length; 111 return _END_OF_STRING; 112 } 113 114 return _array[_offset]; 115 } 116 117 char _increment() { return _increment(1); } 118 119 char _decrement(int inc) { 120 _offset-=inc; 121 if(_offset < 0) 122 _offset = 0; 123 124 return _array[_offset]; 125 } 126 127 char _decrement() { return _decrement(1); } 128 129 char _postIncrement() { 130 char ret; 131 ret = _getValue(); 132 _increment(); 133 return ret; 134 } 135 136 char _postDecrement() { 137 char ret; 138 ret = _getValue(); 139 _decrement(); 140 return ret; 141 } 142 143 144 String _toString(int offset) { 145 return new String (_array, offset, _array.length - offset); 146 } 147 148 public String toString() { 149 return _toString(0); 150 } 151 } 152 | Popular Tags |