Class SimpleFilteredSentenceBreakIterator

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class SimpleFilteredSentenceBreakIterator
    extends BreakIterator
    • Constructor Detail

      • SimpleFilteredSentenceBreakIterator

        public SimpleFilteredSentenceBreakIterator​(BreakIterator adoptBreakIterator,
                                                   CharsTrie forwardsPartialTrie,
                                                   CharsTrie backwardsTrie)
        Parameters:
        adoptBreakIterator - break iterator to adopt
        forwardsPartialTrie - forward & partial char trie to adopt
        backwardsTrie - backward trie to adopt
    • Method Detail

      • resetState

        private final void resetState()
        Reset the filter from the delegate.
      • breakExceptionAt

        private final boolean breakExceptionAt​(int n)
        Is there an exception at this point?
        Parameters:
        n - the location of the possible break
        Returns:
      • internalNext

        private final int internalNext​(int n)
        Given that the delegate has already given its "initial" answer, find the NEXT actual (non-suppressed) break.
        Parameters:
        n - initial position from delegate
        Returns:
        new break position or BreakIterator.DONE
      • internalPrev

        private final int internalPrev​(int n)
        Given that the delegate has already given its "initial" answer, find the PREV actual (non-suppressed) break.
        Parameters:
        n - initial position from delegate
        Returns:
        new break position or BreakIterator.DONE
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • clone

        public java.lang.Object clone()
        Description copied from class: BreakIterator
        Clone method. Creates another BreakIterator with the same behavior and current state as this one.
        Overrides:
        clone in class BreakIterator
        Returns:
        The clone.
      • first

        public int first()
        Description copied from class: BreakIterator
        Set the iterator to the first boundary position. This is always the beginning index of the text this iterator iterates over. For example, if the iterator iterates over a whole string, this function will always return 0.
        Specified by:
        first in class BreakIterator
        Returns:
        The character offset of the beginning of the stretch of text being broken.
      • preceding

        public int preceding​(int offset)
        Description copied from class: BreakIterator
        Sets the iterator's current iteration position to be the last boundary position preceding the specified position. (Whether the specified position is itself a boundary position or not doesn't matter-- this function always moves the iteration position to the last boundary before the specified position.) If the specified position is the starting position, returns DONE.
        Overrides:
        preceding in class BreakIterator
        Parameters:
        offset - The character position to start searching from.
        Returns:
        The position of the last boundary position preceding "offset" (whether of not "offset" itself is a boundary position), or DONE if "offset" is the starting offset of the iterator.
      • previous

        public int previous()
        Description copied from class: BreakIterator
        Move the iterator backward one boundary. The current iteration position is updated to point to the last boundary position before the current position, and this is also the value that is returned. If the current position is equal to the value returned by first(), or to DONE, this function returns DONE and sets the current position to DONE.
        Specified by:
        previous in class BreakIterator
        Returns:
        The position of the last boundary position preceding the iteration position.
      • current

        public int current()
        Description copied from class: BreakIterator
        Return the iterator's current position.
        Specified by:
        current in class BreakIterator
        Returns:
        The iterator's current position.
      • isBoundary

        public boolean isBoundary​(int offset)
        Description copied from class: BreakIterator
        Return true if the specified position is a boundary position. If the function returns true, the current iteration position is set to the specified position; if the function returns false, the current iteration position is set as though following() had been called.
        Overrides:
        isBoundary in class BreakIterator
        Parameters:
        offset - the offset to check.
        Returns:
        True if "offset" is a boundary position.
      • next

        public int next()
        Description copied from class: BreakIterator
        Advances the iterator forward one boundary. The current iteration position is updated to point to the next boundary position after the current position, and this is also the value that is returned. If the current position is equal to the value returned by last(), or to DONE, this function returns DONE and sets the current position to DONE.
        Specified by:
        next in class BreakIterator
        Returns:
        The position of the first boundary position following the iteration position.
      • next

        public int next​(int n)
        Description copied from class: BreakIterator
        Move the iterator by the specified number of steps in the text. A positive number moves the iterator forward; a negative number moves the iterator backwards. If this causes the iterator to move off either end of the text, this function returns DONE; otherwise, this function returns the position of the appropriate boundary. Calling this function is equivalent to calling next() or previous() n times.
        Specified by:
        next in class BreakIterator
        Parameters:
        n - The number of boundaries to advance over (if positive, moves forward; if negative, moves backwards).
        Returns:
        The position of the boundary n boundaries from the current iteration position, or DONE if moving n boundaries causes the iterator to advance off either end of the text.
      • following

        public int following​(int offset)
        Description copied from class: BreakIterator
        Sets the iterator's current iteration position to be the first boundary position following the specified position. (Whether the specified position is itself a boundary position or not doesn't matter-- this function always moves the iteration position to the first boundary after the specified position.) If the specified position is the past-the-end position, returns DONE.
        Specified by:
        following in class BreakIterator
        Parameters:
        offset - The character position to start searching from.
        Returns:
        The position of the first boundary position following "offset" (whether or not "offset" itself is a boundary position), or DONE if "offset" is the past-the-end offset.
      • last

        public int last()
        Description copied from class: BreakIterator
        Set the iterator to the last boundary position. This is always the "past-the-end" index of the text this iterator iterates over. For example, if the iterator iterates over a whole string (call it "text"), this function will always return text.length().
        Specified by:
        last in class BreakIterator
        Returns:
        The character offset of the end of the stretch of text being broken.
      • getText

        public java.text.CharacterIterator getText()
        Description copied from class: BreakIterator
        Returns a CharacterIterator over the text being analyzed.

        Caution:The state of the returned CharacterIterator must not be modified in any way while the BreakIterator is still in use. Doing so will lead to undefined behavior of the BreakIterator. Clone the returned CharacterIterator first and work with that.

        The returned CharacterIterator is a reference to the actual iterator being used by the BreakIterator. No guarantees are made about the current position of this iterator when it is returned; it may differ from the BreakIterators current position. If you need to move that position to examine the text, clone this function's return value first.

        Specified by:
        getText in class BreakIterator
        Returns:
        A CharacterIterator over the text being analyzed.
      • setText

        public void setText​(java.text.CharacterIterator newText)
        Description copied from class: BreakIterator
        Sets the iterator to analyze a new piece of text. This function resets the current iteration position to the beginning of the text. (The old iterator is dropped.)

        Caution: The supplied CharacterIterator is used directly by the BreakIterator, and must not be altered in any way by code outside of the BreakIterator. Doing so will lead to undefined behavior of the BreakIterator.

        Specified by:
        setText in class BreakIterator
        Parameters:
        newText - A CharacterIterator referring to the text to analyze with this BreakIterator (the iterator's current position is ignored, but its other state is significant).