Package com.iizix.translate
Class TranslationQueue
java.lang.Object
com.iizix.translate.TranslationQueue
Translation queue object that holds the translations required from one language to another. The queue is enabled to have the same translation multiple times and only queries the translator once. Future implementations could hold a history of the most used ones, etc...
- Author:
- Christopher Mindus
Field Summary
Modifier and TypeFieldDescriptionprotected final String
The source language code, null for auto-detect.protected final String
The description of source language.protected final String
The target language code.protected final String
The description of target language.protected final ITranslator
The translator.Constructor Summary
ModifierConstructorDescriptionprotected
TranslationQueue
(String sourceLanguageCode, String targetLanguageCode, ITranslator translator) Constructor.Method Summary
Modifier and TypeMethodDescriptionprotected boolean
addRequest
(KString sourceText, ITranslationReply reply) Adds a translation request.protected void
cancel()
Cancels the queue.protected void
Cancels the job instance if any, called from a synchronized block.protected void
Clears the job instance if any, called from a synchronized block.void
Deconfigures the queue and its translator.protected KString[]
getAll()
Gets all current elements in queue, without removing them.protected KString
getNext()
Gets an item from the queue that needs processing.protected int
Gets the queue translations count.long
Gets the count of translated texts in this queue.protected boolean
Checks the cancel state.protected void
onCompleted
(KString sourceText, Translation translation) Informs the queue of a completed translation.protected boolean
Processes one element from queue.protected void
Schedules a new translation job instance if required, called from a synchronized block.
Field Details
sourceLanguageCode
The source language code, null for auto-detect.targetLanguageCode
The target language code.sourceLanguageDescription
The description of source language.targetLanguageDescription
The description of target language.translator
The translator.
Constructor Details
TranslationQueue
protected TranslationQueue(String sourceLanguageCode, String targetLanguageCode, ITranslator translator) Constructor.- Parameters:
sourceLanguageCode
- The source language code, null for auto-detect.targetLanguageCode
- The target language code.translator
- The translator.
Method Details
addRequest
Adds a translation request.- Parameters:
sourceText
- The source text.reply
- Callback when translation completes.- Returns:
- true for new request added, false for request already pending.
scheduleJobInstance
protected void scheduleJobInstance()Schedules a new translation job instance if required, called from a synchronized block.Override as required.
getNext
Gets an item from the queue that needs processing.- Returns:
- The string to translate, null for no more entries.
getAll
Gets all current elements in queue, without removing them.- Returns:
- The string array to translate, null for no more entries.
clearJobInstance
protected void clearJobInstance()Clears the job instance if any, called from a synchronized block.Override as required.
cancelJob
protected void cancelJob()Cancels the job instance if any, called from a synchronized block.Override as required.
cancel
protected void cancel()Cancels the queue.isCanceled
protected boolean isCanceled()Checks the cancel state.getQueueElementCount
protected int getQueueElementCount()Gets the queue translations count.processQueuedElement
protected boolean processQueuedElement()Processes one element from queue.- Returns:
- true for success, false for no more elements in queue.
onCompleted
Informs the queue of a completed translation.- Parameters:
sourceText
- The source text.translation
- The translation instance.
getTranslatedCount
public long getTranslatedCount()Gets the count of translated texts in this queue.- Returns:
- The count of successful translations.
deconfigure
public void deconfigure()Deconfigures the queue and its translator.