ICU 59.1  59.1
Public Member Functions | Static Public Member Functions | Protected Member Functions
icu::FilteredBreakIteratorBuilder Class Referenceabstract

The BreakIteratorFilter is used to modify the behavior of a BreakIterator by constructing a new BreakIterator which suppresses certain segment boundaries. More...

#include <filteredbrk.h>

Inheritance diagram for icu::FilteredBreakIteratorBuilder:
icu::UObject icu::UMemory

Public Member Functions

virtual ~FilteredBreakIteratorBuilder ()
 destructor. More...
 
virtual UBool suppressBreakAfter (const UnicodeString &string, UErrorCode &status)=0
 Suppress a certain string from being the end of a segment. More...
 
virtual UBool unsuppressBreakAfter (const UnicodeString &string, UErrorCode &status)=0
 Stop suppressing a certain string from being the end of the segment. More...
 
virtual BreakIteratorbuild (BreakIterator *adoptBreakIterator, UErrorCode &status)=0
 Wrap (adopt) an existing break iterator in a new filtered instance. More...
 
- Public Member Functions inherited from icu::UObject
virtual ~UObject ()
 Destructor. More...
 
virtual UClassID getDynamicClassID () const
 ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. More...
 

Static Public Member Functions

static FilteredBreakIteratorBuildercreateInstance (const Locale &where, UErrorCode &status)
 Construct a FilteredBreakIteratorBuilder based on rules in a locale. More...
 
static FilteredBreakIteratorBuildercreateInstance (UErrorCode &status)
 Construct an empty FilteredBreakIteratorBuilder. More...
 

Protected Member Functions

 FilteredBreakIteratorBuilder ()
 For subclass use. More...
 

Detailed Description

The BreakIteratorFilter is used to modify the behavior of a BreakIterator by constructing a new BreakIterator which suppresses certain segment boundaries.

See http://www.unicode.org/reports/tr35/tr35-general.html#Segmentation_Exceptions . For example, a typical English Sentence Break Iterator would break on the space in the string "Mr. Smith" (resulting in two segments), but with "Mr." as an exception, a filtered break iterator would consider the string "Mr. Smith" to be a single segment.

Stable:
ICU 56

Definition at line 36 of file filteredbrk.h.

Constructor & Destructor Documentation

§ ~FilteredBreakIteratorBuilder()

virtual icu::FilteredBreakIteratorBuilder::~FilteredBreakIteratorBuilder ( )
virtual

destructor.

Stable:
ICU 56

§ FilteredBreakIteratorBuilder()

icu::FilteredBreakIteratorBuilder::FilteredBreakIteratorBuilder ( )
protected

For subclass use.

Stable:
ICU 56

Member Function Documentation

§ build()

virtual BreakIterator* icu::FilteredBreakIteratorBuilder::build ( BreakIterator adoptBreakIterator,
UErrorCode status 
)
pure virtual

Wrap (adopt) an existing break iterator in a new filtered instance.

The resulting BreakIterator is owned by the caller. The BreakIteratorFilter may be destroyed before the BreakIterator is destroyed. Note that the adoptBreakIterator is adopted by the new BreakIterator and should no longer be used by the caller. The FilteredBreakIteratorBuilder may be reused.

Parameters
adoptBreakIteratorthe break iterator to adopt
statuserror code
Returns
the new BreakIterator, owned by the caller.
Stable:
ICU 56

§ createInstance() [1/2]

static FilteredBreakIteratorBuilder* icu::FilteredBreakIteratorBuilder::createInstance ( const Locale where,
UErrorCode status 
)
static

Construct a FilteredBreakIteratorBuilder based on rules in a locale.

The rules are taken from CLDR exception data for the locale, see http://www.unicode.org/reports/tr35/tr35-general.html#Segmentation_Exceptions This is the equivalent of calling createInstance(UErrorCode&) and then repeatedly calling addNoBreakAfter(...) with the contents of the CLDR exception data.

Parameters
wherethe locale.
statusThe error code.
Returns
the new builder
Stable:
ICU 56

§ createInstance() [2/2]

static FilteredBreakIteratorBuilder* icu::FilteredBreakIteratorBuilder::createInstance ( UErrorCode status)
static

Construct an empty FilteredBreakIteratorBuilder.

In this state, it will not suppress any segment boundaries.

Parameters
statusThe error code.
Returns
the new builder
Stable:
ICU 56

§ suppressBreakAfter()

virtual UBool icu::FilteredBreakIteratorBuilder::suppressBreakAfter ( const UnicodeString string,
UErrorCode status 
)
pure virtual

Suppress a certain string from being the end of a segment.

For example, suppressing "Mr.", then segments ending in "Mr." will not be returned by the iterator.

Parameters
stringthe string to suppress, such as "Mr."
statuserror code
Returns
returns TRUE if the string was not present and now added, FALSE if the call was a no-op because the string was already being suppressed.
Stable:
ICU 56

§ unsuppressBreakAfter()

virtual UBool icu::FilteredBreakIteratorBuilder::unsuppressBreakAfter ( const UnicodeString string,
UErrorCode status 
)
pure virtual

Stop suppressing a certain string from being the end of the segment.

This function does not create any new segment boundaries, but only serves to un-do the effect of earlier calls to suppressBreakAfter, or to un-do the effect of locale data which may be suppressing certain strings.

Parameters
exceptionthe exception to remove
statuserror code
Returns
returns TRUE if the string was present and now removed, FALSE if the call was a no-op because the string was not being suppressed.
Stable:
ICU 56

The documentation for this class was generated from the following file: