blob: 84db0c83a7045e872c5efb636c9395154481d3c4 [file] [log] [blame]
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
/*
*******************************************************************************
* Copyright (C) 2014, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package com.ibm.icu.text;
import java.text.CharacterIterator;
/**
* The LanguageBreakEngine interface is to be used to implement any
* language-specific logic for break iteration.
*/
interface LanguageBreakEngine {
/**
* @param c A Unicode codepoint value
* @return true if the engine can handle this character, false otherwise
*/
boolean handles(int c);
/**
* Implements the actual breaking logic. Find any breaks within a run in the supplied text.
* @param text The text to break over. The iterator is left at
* the end of the run of characters which the engine has handled.
* @param startPos The index of the beginning of the range
* @param endPos The index of the possible end of our range. It is possible,
* however, that the range ends earlier
* @param foundBreaks A data structure to receive the break positions.
* @return the number of breaks found
*/
int findBreaks(CharacterIterator text, int startPos, int endPos,
DictionaryBreakEngine.DequeI foundBreaks);
}