Package org.apache.lucene.analysis.util

# Class CharArrayIterator

java.lang.Object
org.apache.lucene.analysis.util.CharArrayIterator

All Implemented Interfaces:
  `Cloneable`, `CharacterIterator`

public abstract class CharArrayIterator extends Object implements CharacterIterator
A CharacterIterator used internally for use with `BreakIterator`

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final boolean`
`HAS_BUGGY_BREAKITERATORS`
True if this JRE has a buggy BreakIterator implementation

### Fields inherited from interface java.text.CharacterIterator

`DONE`

## Constructor Summary

Constructors
Constructor
Description
`CharArrayIterator()`

## Method Summary

Modifier and Type
Method
Description
`CharArrayIterator`
`clone()`
`char`
`current()`
`char`
`first()`
`int`
`getBeginIndex()`
`int`
`getEndIndex()`
`int`
`getIndex()`
`int`
`getLength()`
`int`
`getStart()`
`char[]`
`getText()`
`protected abstract char`
`jreBugWorkaround(char ch)`
`char`
`last()`
`static CharArrayIterator`
`newSentenceInstance()`
Create a new CharArrayIterator that works around JRE bugs in a manner suitable for `BreakIterator.getSentenceInstance()`
`static CharArrayIterator`
`newWordInstance()`
Create a new CharArrayIterator that works around JRE bugs in a manner suitable for `BreakIterator.getWordInstance()`
`char`
`next()`
`char`
`previous()`
`char`
`setIndex(int position)`
`void`
`setText(char[] array, int start, int length)`
Set a new region of text to be examined by this iterator

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### HAS_BUGGY_BREAKITERATORS

public static final boolean HAS_BUGGY_BREAKITERATORS
True if this JRE has a buggy BreakIterator implementation

## Constructor Details

### CharArrayIterator

public CharArrayIterator()

## Method Details

### getText

public char[] getText()

### getStart

public int getStart()

### getLength

public int getLength()

### setText

public void setText(char[] array, int start, int length)
Set a new region of text to be examined by this iterator

Parameters:
  `array` - text buffer to examine
  `start` - offset into buffer
  `length` - maximum length to examine

### current

public char current()

Specified by:
  `current` in interface `CharacterIterator`

### jreBugWorkaround

protected abstract char jreBugWorkaround(char ch)

### first

public char first()

Specified by:
  `first` in interface `CharacterIterator`

### getBeginIndex

public int getBeginIndex()

Specified by:
  `getBeginIndex` in interface `CharacterIterator`

### getEndIndex

public int getEndIndex()

Specified by:
  `getEndIndex` in interface `CharacterIterator`

### getIndex

public int getIndex()

Specified by:
  `getIndex` in interface `CharacterIterator`

### last

public char last()

Specified by:
  `last` in interface `CharacterIterator`

### next

public char next()

Specified by:
  `next` in interface `CharacterIterator`

### previous

public char previous()

Specified by:
  `previous` in interface `CharacterIterator`

### setIndex

public char setIndex(int position)

Specified by:
  `setIndex` in interface `CharacterIterator`

### clone

public CharArrayIterator clone()

Specified by:
  `clone` in interface `CharacterIterator`
Overrides:
  `clone` in class `Object`

### newSentenceInstance

public static CharArrayIterator newSentenceInstance()
Create a new CharArrayIterator that works around JRE bugs in a manner suitable for `BreakIterator.getSentenceInstance()`

### newWordInstance

public static CharArrayIterator newWordInstance()
Create a new CharArrayIterator that works around JRE bugs in a manner suitable for `BreakIterator.getWordInstance()`