public class DefaultFileSystem extends Object implements FileSystem
Modifier and Type | Class and Description |
---|---|
static class |
DefaultFileSystem.Cache |
FileSystem.Index
Modifier and Type | Field and Description |
---|---|
protected FilePredicates |
predicates |
Modifier | Constructor and Description |
---|---|
|
DefaultFileSystem(File baseDir)
Only for testing
|
protected |
DefaultFileSystem(File baseDir,
DefaultFileSystem.Cache cache) |
|
DefaultFileSystem(Path baseDir)
Only for testing
|
Modifier and Type | Method and Description |
---|---|
DefaultFileSystem |
add(DefaultInputDir inputDir) |
DefaultFileSystem |
add(InputFile inputFile) |
File |
baseDir()
Absolute base directory of module
|
Path |
baseDirPath() |
protected void |
doPreloadFiles()
This method is called before each search of files.
|
Charset |
encoding()
Default encoding of files in this project.
|
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. |
InputDir |
inputDir(File dir)
|
InputFile |
inputFile(FilePredicate predicate)
Returns the single element matching the predicate.
|
Iterable<InputFile> |
inputFiles()
Bypass default predicate to get all files/dirs indexed.
|
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 |
File |
resolvePath(String path)
Utility method mainly used to resolve location of reports.
|
DefaultFileSystem |
setDefaultPredicate(Predicate<InputFile> predicate) |
DefaultFileSystem |
setEncoding(Charset e) |
DefaultFileSystem |
setWorkDir(File d) |
File |
workDir()
Absolute work directory.
|
protected final FilePredicates predicates
public DefaultFileSystem(Path baseDir)
public DefaultFileSystem(File baseDir)
protected DefaultFileSystem(@Nullable File baseDir, DefaultFileSystem.Cache cache)
public Path baseDirPath()
public File baseDir()
FileSystem
baseDir
in interface FileSystem
public DefaultFileSystem setEncoding(@Nullable Charset e)
public Charset encoding()
FileSystem
InputFile
it is preferable to use InputFile.charset()
encoding
in interface FileSystem
public boolean isDefaultJvmEncoding()
public DefaultFileSystem setWorkDir(File d)
public DefaultFileSystem setDefaultPredicate(@Nullable Predicate<InputFile> predicate)
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()
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();
Iterable<InputFile> files = 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 InputDir inputDir(File dir)
FileSystem
inputDir
in interface FileSystem
public DefaultFileSystem add(InputFile inputFile)
public DefaultFileSystem add(DefaultInputDir inputDir)
public SortedSet<String> languages()
FileSystem
languages
in interface FileSystem
public FilePredicates predicates()
FileSystem
FilePredicate
predicates
in interface FileSystem
protected void doPreloadFiles()
public File resolvePath(String path)
FileSystem
resolvePath
in interface FileSystem
Copyright © 2009–2017 SonarSource. All rights reserved.