UnicodeFilter


public abstract class UnicodeFilter
extends Object implements UnicodeMatcher

java.lang.Object
   ↳ android.icu.text.UnicodeFilter
UnicodeSet A mutable set of Unicode characters and multicharacter strings. 


UnicodeFilter defines a protocol for selecting a subset of the full range (U+0000 to U+FFFF) of Unicode characters. Currently, filters are used in conjunction with classes like Transliterator to only process selected characters through a transformation.

Summary

Inherited constants

char ETHER

The character at index i, where i < contextStart || i >= contextLimit, is ETHER.

int U_MATCH

Constant returned by matches() indicating a complete match between the text and this matcher.

int U_MISMATCH

Constant returned by matches() indicating a mismatch between the text and this matcher.

int U_PARTIAL_MATCH

Constant returned by matches() indicating a partial match between the text and this matcher.

Public methods

abstract boolean contains(int c)

Returns true for characters that are in the selected subset.

int matches(Replaceable text, int[] offset, int limit, boolean incremental)

Default implementation of UnicodeMatcher::matches() for Unicode filters.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

abstract void addMatchSetTo(UnicodeSet toUnionTo)

Union the set of all characters that may be matched by this object into the given set.

abstract int matches(Replaceable text, int[] offset, int limit, boolean incremental)

Return a UMatchDegree value indicating the degree of match for the given text at the given offset.

abstract boolean matchesIndexValue(int v)

Returns true if this matcher will match a character c, where c & 0xFF == v, at offset, in the forward direction (with limit > offset).

abstract String toPattern(boolean escapeUnprintable)

Returns a string representation of this matcher.

Public methods

contains

Added in API level 24
public abstract boolean contains (int c)

Returns true for characters that are in the selected subset. In other words, if a character is to be filtered, then contains() returns false.

Parameters
c int

Returns
boolean

matches

Added in API level 24
public int matches (Replaceable text, 
                int[] offset, 
                int limit, 
                boolean incremental)

Default implementation of UnicodeMatcher::matches() for Unicode filters. Matches a single 16-bit code unit at offset.

Parameters
text Replaceable: the text to be matched

offset int: on input, the index into text at which to begin matching. On output, the limit of the matched text. The number of matched characters is the output value of offset minus the input value. Offset should always point to the HIGH SURROGATE (leading code unit) of a pair of surrogates, both on entry and upon return.

limit int: the limit index of text to be matched. Greater than offset for a forward direction match, less than offset for a backward direction match. The last character to be considered for matching will be text.charAt(limit-1) in the forward direction or text.charAt(limit+1) in the backward direction.

incremental boolean: if true, then assume further characters may be inserted at limit and check for partial matching. Otherwise assume the text as given is complete.

Returns
int a match degree value indicating a full match, a partial match, or a mismatch. If incremental is false then U_PARTIAL_MATCH should never be returned.