| /* |
| ******************************************************************************* |
| * Copyright (C) 2012, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ******************************************************************************* |
| */ |
| package com.ibm.icu.text; |
| |
| import java.text.CharacterIterator; |
| import java.util.Stack; |
| |
| /** |
| * The LanguageBreakEngine interface is to be used to implement any |
| * language-specific logic for break iteration. |
| */ |
| interface LanguageBreakEngine { |
| /** |
| * @param c A Unicode codepoint value |
| * @param breakType The kind of break iterator that is wanting to make use |
| * of this engine - character, word, line, sentence |
| * @return true if the engine can handle this character, false otherwise |
| */ |
| public boolean handles(int c, int breakType); |
| |
| /** |
| * Implements the actual breaking logic. |
| * @param text The text to break over |
| * @param startPos The index of the beginning of our range |
| * @param endPos The index of the possible end of our range. It is possible, |
| * however, that our range ends earlier |
| * @param reverse true iff we are iterating backwards (in a call to |
| * previous(), for example) |
| * @param breakType The kind of break iterator that is wanting to make use |
| * of this engine - character, word, line, sentence |
| * @param foundBreaks A Stack that the breaks found will be added to |
| * @return the number of words found |
| */ |
| public int findBreaks(CharacterIterator text, int startPos, int endPos, |
| boolean reverse, int breakType, Stack<Integer> foundBreaks); |
| } |