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)
Adds InputDir to the list.
|
DefaultFileSystem |
add(DefaultInputFile 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
|
Path |
baseDirPath() |
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. |
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(FilePredicate 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()
FileSystembaseDir in interface FileSystempublic DefaultFileSystem setEncoding(@Nullable Charset e)
public Charset encoding()
FileSystemencoding in interface FileSystempublic boolean isDefaultJvmEncoding()
public DefaultFileSystem setWorkDir(File d)
public DefaultFileSystem setDefaultPredicate(@Nullable FilePredicate predicate)
public File workDir()
FileSystemFileSystem.baseDir().workDir in interface FileSystempublic InputFile inputFile(FilePredicate predicate)
FileSystemIllegalArgumentException is thrown. Returns null
if no files match.
How to use :
InputFile file = fs.inputFile(fs.predicates().hasRelativePath("src/Foo.php"));
inputFile in interface FileSystemFileSystem.predicates()public Iterable<InputFile> inputFiles()
public Iterable<InputFile> inputFiles(FilePredicate predicate)
FileSystemattributes 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 FileSystemFileSystem.predicates()public boolean hasFiles(FilePredicate predicate)
FileSystemInputFile 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 FileSystemFileSystem.predicates()public Iterable<File> files(FilePredicate predicate)
FileSystemfiles in interface FileSystemFileSystem.predicates()public InputDir inputDir(File dir)
FileSysteminputDir in interface FileSystempublic DefaultFileSystem add(DefaultInputFile inputFile)
public DefaultFileSystem add(DefaultInputDir inputDir)
public DefaultFileSystem addLanguages(String language, String... others)
languages() without
using add(DefaultInputFile).public SortedSet<String> languages()
FileSystemlanguages in interface FileSystempublic FilePredicates predicates()
FileSystemFilePredicatepredicates in interface FileSystemprotected void doPreloadFiles()
public File resolvePath(String path)
FileSystemresolvePath in interface FileSystemCopyright © 2009–2017 SonarSource. All rights reserved.