Class TextSynthesizer.OutputHandler
java.lang.Object
java.lang.Thread
com.sun.speech.engine.synthesis.text.TextSynthesizer.OutputHandler
- All Implemented Interfaces:
Runnable
- Enclosing class:
TextSynthesizer
The output device for a
TextSynthesizer. Sends
all text to standard out.-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intprotected static final intprotected static final intprotected intFor the item at the top of the queue, the output command reflects whether item should be PAUSE, RESUME, CANCEL.protected ObjectObject on which accesses to the command must synchronize.protected ObjectObject to lock on for setting the current item.protected booleanprotected static final intprotected VectorInternal speech output queue that will contain a set of TextSynthesizerQueueItems.protected static final intFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds an item to be spoken to the output queue.protected voidCancels all items.protected voidCancels the current item.protected voidcancelItem(int cancelType) Cancels all or just the current item.protected voidcancelItem(Object source) Cancels the given item.Returns the current queue.protected TextSynthesizerQueueItemReturns, but does not remove, the first item on the queue.protected booleanDetermines if the next thing in line is a command.booleanDetermines if the queue is empty.protected booleanisWhitespace(String engineText, int index) Determines if there is whitespace at the current index.protected intStarts outputting the item.protected voidPauses the output.protected intprocessCommand(TextSynthesizerQueueItem item, String engineText, int index) Attempts to process a command starting at the next character in the synthesizer text.protected intprocessNormalText(TextSynthesizerQueueItem item, String engineText, int index) Processes next set of characters in output up to whitespace or next '/' that could indicate the start of a command.protected intprocessWhitespace(String engineText, int index) Processes whitespace at the current index in the synthesizer text.protected voidResumes the output.voidrun()Controls output of text until terminate is called.voidStops execution of the Thread.Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield
-
Field Details
-
done
protected boolean done -
queue
Internal speech output queue that will contain a set of TextSynthesizerQueueItems.- See Also:
-
currentItemLock
Object to lock on for setting the current item. -
command
protected int commandFor the item at the top of the queue, the output command reflects whether item should be PAUSE, RESUME, CANCEL. -
PAUSE
protected static final int PAUSE- See Also:
-
RESUME
protected static final int RESUME- See Also:
-
CANCEL
protected static final int CANCEL- See Also:
-
CANCEL_ALL
protected static final int CANCEL_ALL- See Also:
-
CANCEL_COMPLETE
protected static final int CANCEL_COMPLETE- See Also:
-
commandLock
Object on which accesses to the command must synchronize.
-
-
Constructor Details
-
OutputHandler
public OutputHandler()Class constructor.
-
-
Method Details
-
terminate
public void terminate()Stops execution of the Thread. -
enumerateQueue
Returns the current queue.- Returns:
- the current queue
-
isQueueEmpty
public boolean isQueueEmpty()Determines if the queue is empty.- Returns:
trueif the queue is empty
-
appendQueue
Adds an item to be spoken to the output queue.- Parameters:
item- the item to be added
-
cancelItem
protected void cancelItem()Cancels the current item. -
cancelAllItems
protected void cancelAllItems()Cancels all items. -
cancelItem
protected void cancelItem(int cancelType) Cancels all or just the current item.- Parameters:
cancelType-CANCELorCANCEL_ALL
-
cancelItem
Cancels the given item.- Parameters:
source- the item to cancel
-
pauseItem
protected void pauseItem()Pauses the output. -
resumeItem
protected void resumeItem()Resumes the output. -
run
public void run()Controls output of text until terminate is called. -
getQueueItem
Returns, but does not remove, the first item on the queue.- Returns:
- the first item on the queue
-
outputItem
Starts outputting the item. Returns the current command.- Parameters:
item- to be output- Returns:
- the current command
-
isCommand
Determines if the next thing in line is a command.- Parameters:
engineText- the text containing embedded commandsindex- the current index- Returns:
trueif the next thing in line is a command
-
processCommand
Attempts to process a command starting at the next character in the synthesizer text. Returns the new index.- Parameters:
item- the current queue itemengineText- the text containing embedded commandsindex- the current index- Returns:
- the new index
-
isWhitespace
Determines if there is whitespace at the current index.- Parameters:
engineText- the text containing embedded commandsindex- the current index- Returns:
trueif there is whitespace at the current index
-
processWhitespace
Processes whitespace at the current index in the synthesizer text. If next character is not whitespace, does nothing. If next character is whitespace, displays it and pauses briefly to simulate the speaking rate.- Parameters:
engineText- the text containing embedded commandsindex- the current index- Returns:
- the new index
-
processNormalText
Processes next set of characters in output up to whitespace or next '/' that could indicate the start of a command.- Parameters:
item- the current queue itemengineText- the text containing embedded commandsindex- the current index- Returns:
- the new index
-