com.ibm.icu.text
Class SpoofChecker.Builder

java.lang.Object
  extended by com.ibm.icu.text.SpoofChecker.Builder
Enclosing class:
SpoofChecker

public static class SpoofChecker.Builder
extends Object

SpoofChecker Builder. To create a SpoofChecker, first instantiate a SpoofChecker.Builder, set the desired checking options on the builder, then call the build() function to create a SpoofChecker instance.

Status:
Draft ICU 4.6.

Constructor Summary
SpoofChecker.Builder()
          Constructor: Create a default Unicode Spoof Checker Builder, configured to perform all checks except for LOCALE_LIMIT and CHAR_LIMIT.
SpoofChecker.Builder(SpoofChecker src)
          Constructor: Create a Spoof Checker Builder, and set the configuration from an existing SpoofChecker.
 
Method Summary
 SpoofChecker build()
          Create a SpoofChecker with current configuration.
 SpoofChecker.Builder setAllowedChars(UnicodeSet chars)
          Limit the acceptable characters to those specified by a Unicode Set.
 SpoofChecker.Builder setAllowedLocales(Set<ULocale> locales)
          Limit characters that are acceptable in identifiers being checked to those normally used with the languages associated with the specified locales.
 SpoofChecker.Builder setChecks(int checks)
          Specify the set of checks that will be performed by the check functions of this Spoof Checker.
 SpoofChecker.Builder setData(Reader confusables, Reader confusablesWholeScript)
          Specify the source form of the spoof data Spoof Checker.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpoofChecker.Builder

public SpoofChecker.Builder()
Constructor: Create a default Unicode Spoof Checker Builder, configured to perform all checks except for LOCALE_LIMIT and CHAR_LIMIT. Note that additional checks may be added in the future, resulting in the changes to the default checking behavior.

Status:
Draft ICU 4.6.

SpoofChecker.Builder

public SpoofChecker.Builder(SpoofChecker src)
Constructor: Create a Spoof Checker Builder, and set the configuration from an existing SpoofChecker.

Parameters:
src - The existing checker.
Status:
Draft ICU 4.6.
Method Detail

build

public SpoofChecker build()
Create a SpoofChecker with current configuration.

Returns:
SpoofChecker
Status:
Draft ICU 4.6.

setData

public SpoofChecker.Builder setData(Reader confusables,
                                    Reader confusablesWholeScript)
                             throws ParseException,
                                    IOException
Specify the source form of the spoof data Spoof Checker. The Three inputs correspond to the Unicode data files confusables.txt and confusablesWholeScript.txt as described in Unicode UAX 39. The syntax of the source data is as described in UAX 39 for these files, and the content of these files is acceptable input.

Parameters:
confusables - the Reader of confusable characters definitions, as found in file confusables.txt from unicode.org.
confusablesWholeScript - the Reader of whole script confusables definitions, as found in the file xonfusablesWholeScript.txt from unicode.org.
Throws:
ParseException - To report syntax errors in the input.
IOException
Status:
Draft ICU 4.6.

setChecks

public SpoofChecker.Builder setChecks(int checks)
Specify the set of checks that will be performed by the check functions of this Spoof Checker.

Parameters:
checks - The set of checks that this spoof checker will perform. The value is an 'or' of the desired checks..
Returns:
self
Status:
Draft ICU 4.6.

setAllowedLocales

public SpoofChecker.Builder setAllowedLocales(Set<ULocale> locales)
Limit characters that are acceptable in identifiers being checked to those normally used with the languages associated with the specified locales. Any previously specified list of locales is replaced by the new settings. A set of languages is determined from the locale(s), and from those a set of acceptable Unicode scripts is determined. Characters from this set of scripts, along with characters from the "common" and "inherited" Unicode Script categories will be permitted. Supplying an empty string removes all restrictions; characters from any script will be allowed. The CHAR_LIMIT test is automatically enabled for this SpoofChecker when calling this function with a non-empty list of locales. The Unicode Set of characters that will be allowed is accessible via the getAllowedChars() function. setAllowedLocales() will replace any previously applied set of allowed characters. Adjustments, such as additions or deletions of certain classes of characters, can be made to the result of setAllowedLocales() by fetching the resulting set with getAllowedChars(), manipulating it with the Unicode Set API, then resetting the spoof detectors limits with setAllowedChars()

Parameters:
locales - A Set of ULocales, from which the language and associated script are extracted. If the locales Set is null, no restrictions will be placed on the allowed characters.
Returns:
self
Status:
Draft ICU 4.6.

setAllowedChars

public SpoofChecker.Builder setAllowedChars(UnicodeSet chars)
Limit the acceptable characters to those specified by a Unicode Set. Any previously specified character limit is is replaced by the new settings. This includes limits on characters that were set with the setAllowedLocales() function. The CHAR_LIMIT test is automatically enabled for this SpoofChecker by this function.

Parameters:
chars - A Unicode Set containing the list of characters that are permitted. The incoming set is cloned by this function, so there are no restrictions on modifying or deleting the UnicodeSet after calling this function. Note that this clears the allowedLocales set.
Returns:
self
Status:
Draft ICU 4.6.


Copyright (c) 2011 IBM Corporation and others.