public class DefaultFileSystem extends Object implements FileSystem
Modifier and Type | Class and Description |
---|---|
static class |
DefaultFileSystem.Cache |
Modifier | Constructor and Description |
---|---|
|
DefaultFileSystem()
Only for testing
|
protected |
DefaultFileSystem(DefaultFileSystem.Cache cache) |
Modifier and Type | Method and Description |
---|---|
DefaultFileSystem |
add(InputFile inputFile)
Adds InputFile to the list and registers its language, if present.
|
DefaultFileSystem |
addLanguages(String language,
String... others)
Adds a language to the list.
|
File |
baseDir()
Absolute base directory of module
|
protected void |
doPreloadFiles()
This method is called before each search of files.
|
Charset |
encoding()
Default encoding of input files.
|
Iterable<File> |
files(FilePredicate predicate)
Files matching the given predicate.
|
boolean |
hasFiles(FilePredicate predicate)
Returns true if at least one
InputFile matches
the given predicate. |
InputFile |
inputFile(FilePredicate predicate)
Returns the single element matching the predicate.
|
Iterable<InputFile> |
inputFiles(FilePredicate predicate)
Input files matching the given attributes.
|
boolean |
isDefaultJvmEncoding() |
SortedSet<String> |
languages()
Languages detected in all files, whatever their type (main or test)
|
FilePredicates |
predicates()
Factory of
FilePredicate |
DefaultFileSystem |
setBaseDir(File d) |
DefaultFileSystem |
setEncoding(Charset e) |
DefaultFileSystem |
setWorkDir(File d) |
File |
workDir()
Absolute work directory.
|
public DefaultFileSystem()
protected DefaultFileSystem(DefaultFileSystem.Cache cache)
public DefaultFileSystem setBaseDir(File d)
public File baseDir()
FileSystem
baseDir
in interface FileSystem
public DefaultFileSystem setEncoding(@Nullable Charset e)
public Charset encoding()
FileSystem
encoding
in interface FileSystem
public boolean isDefaultJvmEncoding()
public DefaultFileSystem setWorkDir(File d)
public File workDir()
FileSystem
FileSystem.baseDir()
.workDir
in interface FileSystem
public InputFile inputFile(FilePredicate predicate)
FileSystem
IllegalArgumentException
is thrown. Returns null
if no files match.
How to use :
InputFile file = fs.inputFile(fs.predicates().hasRelativePath("src/Foo.php"));
inputFile
in interface FileSystem
FileSystem.predicates()
public Iterable<InputFile> inputFiles(FilePredicate predicate)
FileSystem
attributes
is empty.
Important - result is an Iterable
to benefit from streaming and decreasing
memory consumption. It should be iterated only once, else copy it into a list :
com.google.common.collect.Lists.newArrayList(inputFiles(predicate))
How to use :
FilePredicates p = fs.predicates(); Iterablefiles = fs.inputFiles(p.and(p.hasLanguage("java"), p.hasType(InputFile.Type.MAIN)));
inputFiles
in interface FileSystem
FileSystem.predicates()
public boolean hasFiles(FilePredicate predicate)
FileSystem
InputFile
matches
the given predicate. This method can be faster than checking if FileSystem.inputFiles(org.sonar.api.batch.fs.FilePredicate)
has elements.hasFiles
in interface FileSystem
FileSystem.predicates()
public Iterable<File> files(FilePredicate predicate)
FileSystem
files
in interface FileSystem
FileSystem.predicates()
public DefaultFileSystem add(InputFile inputFile)
public DefaultFileSystem addLanguages(String language, String... others)
languages()
without
using add(org.sonar.api.batch.fs.InputFile)
.public SortedSet<String> languages()
FileSystem
languages
in interface FileSystem
public FilePredicates predicates()
FileSystem
FilePredicate
predicates
in interface FileSystem
protected void doPreloadFiles()
Copyright © 2009-2014 SonarSource. All Rights Reserved.