Package org.sonar.api.batch.fs.internal
Class TestInputFileBuilder
- java.lang.Object
-
- org.sonar.api.batch.fs.internal.TestInputFileBuilder
-
public class TestInputFileBuilder extends java.lang.Object
Intended to be used in unit tests that need to createInputFile
s. An InputFile is unambiguously identified by a module key and a relative path, so these parameters are mandatory.A module base directory is only needed to construct absolute paths.
Examples of usage of the constructors:
InputFile file1 = TestInputFileBuilder.create("module1", "myfile.java").build(); InputFile file2 = TestInputFileBuilder.create("", fs.baseDir(), myfile).build();
file1 will have the "module1" as both module key and module base directory. file2 has an empty string as module key, and a relative path which is the path from the filesystem base directory to myfile.
- Since:
- 6.3
-
-
Constructor Summary
Constructors Constructor Description TestInputFileBuilder(java.lang.String projectKey, java.io.File moduleBaseDir, java.io.File filePath)
Create a InputFile with a given module key and module base directory.TestInputFileBuilder(java.lang.String projectKey, java.lang.String relativePath)
Create a InputFile identified by the given project key and relative path.TestInputFileBuilder(java.lang.String projectKey, java.lang.String relativePath, int id)
-
Method Summary
-
-
-
Constructor Detail
-
TestInputFileBuilder
public TestInputFileBuilder(java.lang.String projectKey, java.lang.String relativePath)
Create a InputFile identified by the given project key and relative path.
-
TestInputFileBuilder
public TestInputFileBuilder(java.lang.String projectKey, java.io.File moduleBaseDir, java.io.File filePath)
Create a InputFile with a given module key and module base directory. The relative path is generated comparing the file path to the module base directory. filePath must point to a file that is within the module base directory.
-
TestInputFileBuilder
public TestInputFileBuilder(java.lang.String projectKey, java.lang.String relativePath, int id)
-
-
Method Detail
-
create
public static TestInputFileBuilder create(java.lang.String moduleKey, java.io.File moduleBaseDir, java.io.File filePath)
-
create
public static TestInputFileBuilder create(java.lang.String moduleKey, java.lang.String relativePath)
-
nextBatchId
public static int nextBatchId()
-
setProjectBaseDir
public TestInputFileBuilder setProjectBaseDir(java.nio.file.Path projectBaseDir)
-
setModuleBaseDir
public TestInputFileBuilder setModuleBaseDir(java.nio.file.Path moduleBaseDir)
-
setLanguage
public TestInputFileBuilder setLanguage(@Nullable java.lang.String language)
-
setType
public TestInputFileBuilder setType(InputFile.Type type)
-
setStatus
public TestInputFileBuilder setStatus(InputFile.Status status)
-
setLines
public TestInputFileBuilder setLines(int lines)
-
setCharset
public TestInputFileBuilder setCharset(java.nio.charset.Charset charset)
-
setHash
public TestInputFileBuilder setHash(java.lang.String hash)
-
setContents
public TestInputFileBuilder setContents(java.lang.String content)
Set contents of the file and calculates metadata from it. The contents will be returned byInputFile.contents()
andInputFile.inputStream()
and can be inconsistent with the actual physical file pointed byInputFile.path()
,InputFile.absolutePath()
, etc.
-
setNonBlankLines
public TestInputFileBuilder setNonBlankLines(int nonBlankLines)
-
setLastValidOffset
public TestInputFileBuilder setLastValidOffset(int lastValidOffset)
-
setOriginalLineStartOffsets
public TestInputFileBuilder setOriginalLineStartOffsets(int[] originalLineStartOffsets)
-
setOriginalLineEndOffsets
public TestInputFileBuilder setOriginalLineEndOffsets(int[] originalLineEndOffsets)
-
setPublish
public TestInputFileBuilder setPublish(boolean publish)
-
setMetadata
public TestInputFileBuilder setMetadata(Metadata metadata)
-
initMetadata
public TestInputFileBuilder initMetadata(java.lang.String content)
-
build
public DefaultInputFile build()
-
newDefaultInputModule
public static DefaultInputModule newDefaultInputModule(java.lang.String moduleKey, java.io.File baseDir)
-
newDefaultInputModule
public static DefaultInputModule newDefaultInputModule(ProjectDefinition projectDefinition)
-
newDefaultInputModule
public static DefaultInputModule newDefaultInputModule(AbstractProjectOrModule parent, java.lang.String key) throws java.io.IOException
- Throws:
java.io.IOException
-
newDefaultInputProject
public static DefaultInputProject newDefaultInputProject(java.lang.String projectKey, java.io.File baseDir)
-
newDefaultInputProject
public static DefaultInputProject newDefaultInputProject(ProjectDefinition projectDefinition)
-
newDefaultInputProject
public static DefaultInputProject newDefaultInputProject(java.lang.String key, java.nio.file.Path baseDir) throws java.io.IOException
- Throws:
java.io.IOException
-
newDefaultInputDir
public static DefaultInputDir newDefaultInputDir(AbstractProjectOrModule module, java.lang.String relativePath) throws java.io.IOException
- Throws:
java.io.IOException
-
newDefaultInputFile
public static DefaultInputFile newDefaultInputFile(java.nio.file.Path projectBaseDir, AbstractProjectOrModule module, java.lang.String relativePath)
-
-