org.nuiton.i18n.plugin.parser
Class ParserExecutor

java.lang.Object
  extended by java.util.concurrent.AbstractExecutorService
      extended by java.util.concurrent.ThreadPoolExecutor
          extended by org.nuiton.i18n.plugin.parser.ParserExecutor
All Implemented Interfaces:
Executor, ExecutorService, I18nParserConfiguration

public class ParserExecutor
extends ThreadPoolExecutor
implements I18nParserConfiguration

Since:
1.2.2
Author:
poussin

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor
ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy
 
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  List<File> touchedFiles
          list of files touched (says having at least one i18n key)
protected  List<File> treatedFiles
          list of files consumed
 
Constructor Summary
ParserExecutor(I18nParserConfiguration configuration)
           
 
Method Summary
 void addFile(FileParser parser, File... files)
          Add a file to be consumed.
protected  void afterExecute(Runnable r, Throwable t)
           
 void clear()
          clean internal state after usage of the thread.
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 terminatesAndWaits()
          Ask the thread to stop.
 
Methods inherited from class java.util.concurrent.ThreadPoolExecutor
allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, beforeExecute, execute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getQueue, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, shutdown, shutdownNow, terminated
 
Methods inherited from class java.util.concurrent.AbstractExecutorService
invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

configuration

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


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

ParserExecutor

public ParserExecutor(I18nParserConfiguration configuration)
Method Detail

afterExecute

protected void afterExecute(Runnable r,
                            Throwable t)
Overrides:
afterExecute in class ThreadPoolExecutor

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()

clear

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


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()
                        throws InterruptedException
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.

Throws:
InterruptedException - if something wrong while waiting end of executor

getConfiguration

protected I18nParserConfiguration getConfiguration()

getNbFilesToTreate

protected int getNbFilesToTreate()


Copyright © 2007-2011 CodeLutin. All Rights Reserved.