|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.sonar.api.batch.fs.internal.DefaultFileSystem
public class DefaultFileSystem
Nested Class Summary | |
---|---|
static class |
DefaultFileSystem.Cache
|
Nested classes/interfaces inherited from interface org.sonar.api.batch.fs.FileSystem |
---|
FileSystem.Index |
Constructor Summary | |
---|---|
|
DefaultFileSystem(File baseDir)
Only for testing |
protected |
DefaultFileSystem(File baseDir,
DefaultFileSystem.Cache cache)
|
Method Summary | |
---|---|
DefaultFileSystem |
add(InputDir inputDir)
Adds InputDir to the list. |
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. |
InputDir |
inputDir(File dir)
Returns InputDir matching the current File . |
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 |
void |
setBaseDir(File baseDir)
|
DefaultFileSystem |
setEncoding(Charset e)
|
DefaultFileSystem |
setWorkDir(File d)
|
File |
workDir()
Absolute work directory. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DefaultFileSystem(File baseDir)
protected DefaultFileSystem(File baseDir, DefaultFileSystem.Cache cache)
Method Detail |
---|
public File baseDir()
FileSystem
baseDir
in interface FileSystem
public void setBaseDir(File baseDir)
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 InputDir inputDir(File dir)
FileSystem
InputDir
matching the current File
.
inputDir
in interface FileSystem
public DefaultFileSystem add(InputFile inputFile)
public DefaultFileSystem add(InputDir inputDir)
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()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |