APIdia Launch Partner
Top Description Inners Fields Constructors Methods
com.badlogic.gdx.tools

public Class FileProcessor

extends Object
Class Inheritance
Known Direct Subclasses
com.badlogic.gdx.tools.etc1.ETC1Compressor.ETC1FileProcessor, com.badlogic.gdx.tools.headers.HeaderFixer.HeaderFileProcessor, com.badlogic.gdx.tools.texturepacker.TexturePackerFileProcessor
Imports
com.badlogic.gdx.utils.Array, java.io.File, .FilenameFilter, java.util.ArrayList, .Collections, .Comparator, .LinkedHashMap, java.util.regex.Pattern

Collects files recursively, filtering by file name. Callbacks are provided to process files and the results are collected, either processFile(Entry) or processDir(Entry, ArrayList) can be overridden, or both. The entries provided to the callbacks have the original file, the output directory, and the output file. If setFlattenOutput(boolean) is false, the output will match the directory structure of the input.
Author
Nathan Sweet

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
pack-priv Comparator<File>
pack-priv Comparator<FileProcessor.Entry>
pack-priv boolean
pack-priv FilenameFilter
pack-priv Array<Pattern>
pack-priv ArrayList<FileProcessor.Entry>
pack-priv String
pack-priv boolean

Constructor Summary

AccessConstructor and Description
public
public
FileProcessor(FileProcessor processor)

Copy constructor.

Method Summary

Modifier and TypeMethod and Description
public FileProcessor
addInputRegex(String... regexes)

public FileProcessor
addInputSuffix(String... suffixes)

Adds a case insensitive suffix for matching input files.

protected void
addProcessedFile(FileProcessor.Entry entry)

This method should be called by processFile(Entry) or processDir(Entry, ArrayList) if the return value of process(File, File) or process(File[], File) should return all the processed files.

public ArrayList<FileProcessor.Entry>
process(String inputFileOrDir, String
May be null.
outputRoot
)

public ArrayList<FileProcessor.Entry>

Returns:

the processed files added with addProcessedFile(Entry).
process
(File inputFileOrDir, File
May be null if there is no output from processing the files.
outputRoot
)

Processes the specified input file or directory.

public ArrayList<FileProcessor.Entry>

Returns:

the processed files added with addProcessedFile(Entry).
process
(File[] files, File
May be null if there is no output from processing the files.
outputRoot
)

Processes the specified input files.

private void
process(File[] files, File outputRoot, File outputDir, LinkedHashMap<File, ArrayList<FileProcessor.Entry>> dirToEntries, int depth)

protected void
processDir(FileProcessor.Entry entryDir, ArrayList<FileProcessor.Entry> files)

Called for each input directory.

protected void
processFile(FileProcessor.Entry entry)

Called with each input file.

public FileProcessor
setComparator(Comparator<File> comparator)

Sets the comparator for processDir(Entry, ArrayList).

public FileProcessor
setFlattenOutput(boolean flattenOutput)

public FileProcessor
public FileProcessor
setOutputSuffix(String outputSuffix)

Sets the suffix for output files, replacing the extension of the input file.

public FileProcessor
setRecursive(boolean recursive)

Default is true.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

comparatorback to summary
pack-priv Comparator<File> comparator
entryComparatorback to summary
pack-priv Comparator<FileProcessor.Entry> entryComparator
flattenOutputback to summary
pack-priv boolean flattenOutput
inputFilterback to summary
pack-priv FilenameFilter inputFilter
inputRegexback to summary
pack-priv Array<Pattern> inputRegex
outputFilesback to summary
pack-priv ArrayList<FileProcessor.Entry> outputFiles
outputSuffixback to summary
pack-priv String outputSuffix
recursiveback to summary
pack-priv boolean recursive

Constructor Detail

FileProcessorback to summary
public FileProcessor()
FileProcessorback to summary
public FileProcessor(FileProcessor processor)

Copy constructor.

Method Detail

addInputRegexback to summary
public FileProcessor addInputRegex(String... regexes)
addInputSuffixback to summary
public FileProcessor addInputSuffix(String... suffixes)

Adds a case insensitive suffix for matching input files.

addProcessedFileback to summary
protected void addProcessedFile(FileProcessor.Entry entry)

This method should be called by processFile(Entry) or processDir(Entry, ArrayList) if the return value of process(File, File) or process(File[], File) should return all the processed files.

processback to summary
public ArrayList<FileProcessor.Entry> process(String inputFileOrDir, String outputRoot) throws Exception
Parameters
outputRoot:String

May be null.

See Also
process(File, File)
processback to summary
public ArrayList<FileProcessor.Entry> process(File inputFileOrDir, File outputRoot) throws Exception

Processes the specified input file or directory.

Parameters
outputRoot:File

May be null if there is no output from processing the files.

Returns:ArrayList<FileProcessor.Entry>

the processed files added with addProcessedFile(Entry).

processback to summary
public ArrayList<FileProcessor.Entry> process(File[] files, File outputRoot) throws Exception

Processes the specified input files.

Parameters
outputRoot:File

May be null if there is no output from processing the files.

Returns:ArrayList<FileProcessor.Entry>

the processed files added with addProcessedFile(Entry).

processback to summary
private void process(File[] files, File outputRoot, File outputDir, LinkedHashMap<File, ArrayList<FileProcessor.Entry>> dirToEntries, int depth)
processDirback to summary
protected void processDir(FileProcessor.Entry entryDir, ArrayList<FileProcessor.Entry> files) throws Exception

Called for each input directory. The files will be sorted. The specified files list can be modified to change which files are processed.

processFileback to summary
protected void processFile(FileProcessor.Entry entry) throws Exception

Called with each input file.

setComparatorback to summary
public FileProcessor setComparator(Comparator<File> comparator)

Sets the comparator for processDir(Entry, ArrayList). By default the files are sorted by alpha.

setFlattenOutputback to summary
public FileProcessor setFlattenOutput(boolean flattenOutput)
setInputFilterback to summary
public FileProcessor setInputFilter(FilenameFilter inputFilter)
setOutputSuffixback to summary
public FileProcessor setOutputSuffix(String outputSuffix)

Sets the suffix for output files, replacing the extension of the input file.

setRecursiveback to summary
public FileProcessor setRecursive(boolean recursive)

Default is true.

com.badlogic.gdx.tools back to summary

public Class FileProcessor.Entry

extends Object
Class Inheritance

Author
Nathan Sweet

Field Summary

Modifier and TypeField and Description
public int
public File
public File
outputDir

May be null.

public File

Constructor Summary

AccessConstructor and Description
public
public
Entry(File inputFile, File outputFile)

Method Summary

Modifier and TypeMethod and Description
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

depthback to summary
public int depth
inputFileback to summary
public File inputFile
outputDirback to summary
public File outputDir

May be null.

outputFileback to summary
public File outputFile

Constructor Detail

Entryback to summary
public Entry()
Entryback to summary
public Entry(File inputFile, File outputFile)

Method Detail

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.