org.nuiton.i18n.plugin.parser
Class ParserThread

java.lang.Object
  extended by java.lang.Thread
      extended by org.nuiton.i18n.plugin.parser.ParserThread
All Implemented Interfaces:
Runnable, I18nParserConfiguration

public class ParserThread
extends Thread
implements I18nParserConfiguration

A thread to launch parser on files.

Since:
1.2
Author:
tchemit

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
protected  I18nParserConfiguration configuration
          the incoming configuration (from mojo which contains shared result and logger)
protected  int nbFiles
          number of files registred to consume
protected  BlockingQueue<org.nuiton.i18n.plugin.parser.ParserThread.ParserTask> tasks
          queue of tasks to consume
protected  List<File> touchedFiles
          list of files touched (says having at least one i18n key)
protected  List<File> treatedFiles
          list of files consumed
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
ParserThread(I18nParserConfiguration configuration)
           
 
Method Summary
 void addFile(FileParser parser, File... files)
          Add a file to be consumed.
 void clear()
          clean internal state after usage of the thread.
protected  ExecutorService createExecutor()
          Creates the ExecutorService which will consumed i8n tasks.
protected  I18nParserConfiguration getConfiguration()
           
 org.apache.maven.plugin.logging.Log getLog()
           
protected  int getNbFilesToTreate()
           
 org.nuiton.io.SortedProperties getResult()
           
 List<File> getTouchedFiles()
           
 List<File> getTreatedFiles()
           
 boolean isShowTouchedFiles()
           
 boolean isSilent()
           
 boolean isVerbose()
           
 void run()
           
 void terminatesAndWaits()
          Ask the thread to stop.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

configuration

protected final I18nParserConfiguration configuration
the incoming configuration (from mojo which contains shared result and logger)


tasks

protected final BlockingQueue<org.nuiton.i18n.plugin.parser.ParserThread.ParserTask> tasks
queue of tasks to consume


treatedFiles

protected final List<File> treatedFiles
list of files consumed


touchedFiles

protected final List<File> touchedFiles
list of files touched (says having at least one i18n key)


nbFiles

protected int nbFiles
number of files registred to consume

Constructor Detail

ParserThread

public ParserThread(I18nParserConfiguration configuration)
Method Detail

isVerbose

public boolean isVerbose()
Specified by:
isVerbose in interface I18nParserConfiguration

isSilent

public boolean isSilent()
Specified by:
isSilent in interface I18nParserConfiguration

isShowTouchedFiles

public boolean isShowTouchedFiles()
Specified by:
isShowTouchedFiles in interface I18nParserConfiguration

getLog

public org.apache.maven.plugin.logging.Log getLog()
Specified by:
getLog in interface I18nParserConfiguration

getResult

public org.nuiton.io.SortedProperties getResult()
Specified by:
getResult in interface I18nParserConfiguration

getTreatedFiles

public List<File> getTreatedFiles()

getTouchedFiles

public List<File> getTouchedFiles()

addFile

public void addFile(FileParser parser,
                    File... files)
Add a file to be consumed.

Parameters:
parser - the parser of the file
files - files to parse

terminatesAndWaits

public void terminatesAndWaits()
Ask the thread to stop.

It will finish all incoming files (but will not accept more files to parse)

Note: The method does not return until all files are not consumed.


run

public void run()
Specified by:
run in interface Runnable
Overrides:
run in class Thread

clear

public void clear()
clean internal state after usage of the thread.


createExecutor

protected ExecutorService createExecutor()
Creates the ExecutorService which will consumed i8n tasks.

Returns:
the instanciated executor

getConfiguration

protected I18nParserConfiguration getConfiguration()

getNbFilesToTreate

protected int getNbFilesToTreate()


Copyright © 2007-2010 CodeLutin. All Rights Reserved.