Class SonarComponents

java.lang.Object
org.sonar.java.SonarComponents

@ScannerSide @SonarLintSide public class SonarComponents extends Object
  • Field Details

    • FAIL_ON_EXCEPTION_KEY

      public static final String FAIL_ON_EXCEPTION_KEY
      See Also:
    • SONAR_BATCH_MODE_KEY

      public static final String SONAR_BATCH_MODE_KEY
      See Also:
    • SONAR_AUTOSCAN

      public static final String SONAR_AUTOSCAN
      See Also:
    • SONAR_AUTOSCAN_CHECK_FILTERING

      public static final String SONAR_AUTOSCAN_CHECK_FILTERING
      See Also:
    • SONAR_BATCH_SIZE_KEY

      public static final String SONAR_BATCH_SIZE_KEY
      See Also:
    • SONAR_FILE_BY_FILE

      public static final String SONAR_FILE_BY_FILE
      See Also:
    • SONAR_CAN_SKIP_UNCHANGED_FILES_KEY

      public static final String SONAR_CAN_SKIP_UNCHANGED_FILES_KEY
      Describes if an optimized analysis of unchanged by skipping some rules is enabled. By default, the property is not set (null), leaving SQ/SC to decide whether to enable this behavior. Setting it to true or false, forces the behavior from the analyzer independently of the server.
      See Also:
  • Constructor Details

    • SonarComponents

      public SonarComponents(org.sonar.api.measures.FileLinesContextFactory fileLinesContextFactory, org.sonar.api.batch.fs.FileSystem fs, ClasspathForMain javaClasspath, ClasspathForTest javaTestClasspath, org.sonar.api.batch.rule.CheckFactory checkFactory)
    • SonarComponents

      public SonarComponents(org.sonar.api.measures.FileLinesContextFactory fileLinesContextFactory, org.sonar.api.batch.fs.FileSystem fs, ClasspathForMain javaClasspath, ClasspathForTest javaTestClasspath, org.sonar.api.batch.rule.CheckFactory checkFactory, @Nullable CheckRegistrar[] checkRegistrars)
      Will be called in SonarLint context when custom rules are present
    • SonarComponents

      public SonarComponents(org.sonar.api.measures.FileLinesContextFactory fileLinesContextFactory, org.sonar.api.batch.fs.FileSystem fs, ClasspathForMain javaClasspath, ClasspathForTest javaTestClasspath, org.sonar.api.batch.rule.CheckFactory checkFactory, @Nullable org.sonar.api.batch.bootstrap.ProjectDefinition projectDefinition)
      Will be called in SonarScanner context when no custom rules is present
    • SonarComponents

      public SonarComponents(org.sonar.api.measures.FileLinesContextFactory fileLinesContextFactory, org.sonar.api.batch.fs.FileSystem fs, ClasspathForMain javaClasspath, ClasspathForTest javaTestClasspath, org.sonar.api.batch.rule.CheckFactory checkFactory, @Nullable CheckRegistrar[] checkRegistrars, @Nullable org.sonar.api.batch.bootstrap.ProjectDefinition projectDefinition)
      ProjectDefinition class is not available in SonarLint context, so this constructor will never be called when using SonarLint
  • Method Details

    • setSensorContext

      public void setSensorContext(org.sonar.api.batch.sensor.SensorContext context)
    • setCheckFilter

      public void setCheckFilter(UnaryOperator<List<JavaCheck>> checkFilter)
    • fileLinesContextFor

      public org.sonar.api.measures.FileLinesContext fileLinesContextFor(org.sonar.api.batch.fs.InputFile inputFile)
    • symbolizableFor

      public org.sonar.api.batch.sensor.symbol.NewSymbolTable symbolizableFor(org.sonar.api.batch.fs.InputFile inputFile)
    • highlightableFor

      public org.sonar.api.batch.sensor.highlighting.NewHighlighting highlightableFor(org.sonar.api.batch.fs.InputFile inputFile)
    • getJavaClasspath

      public List<File> getJavaClasspath()
    • inAndroidContext

      public boolean inAndroidContext()
    • getJavaTestClasspath

      public List<File> getJavaTestClasspath()
    • getJspClasspath

      public List<File> getJspClasspath()
    • registerMainCheckClasses

      public void registerMainCheckClasses(String repositoryKey, Iterable<Class<? extends JavaCheck>> checkClasses)
    • registerTestCheckClasses

      public void registerTestCheckClasses(String repositoryKey, Iterable<Class<? extends JavaCheck>> checkClasses)
    • mainChecks

      public List<JavaCheck> mainChecks()
    • testChecks

      public List<JavaCheck> testChecks()
    • jspChecks

      public List<JavaCheck> jspChecks()
    • getRuleKey

      public Optional<org.sonar.api.rule.RuleKey> getRuleKey(JavaCheck check)
    • addIssue

      public void addIssue(org.sonar.api.batch.fs.InputComponent inputComponent, JavaCheck check, int line, String message, @Nullable Integer cost)
    • reportIssue

      public void reportIssue(AnalyzerMessage analyzerMessage)
    • reportAnalysisError

      public boolean reportAnalysisError(com.sonar.sslr.api.RecognitionException re, org.sonar.api.batch.fs.InputFile inputFile)
    • isSonarLintContext

      public boolean isSonarLintContext()
    • isQuickFixCompatible

      public boolean isQuickFixCompatible()
    • isSetQuickFixAvailableCompatible

      public boolean isSetQuickFixAvailableCompatible()
    • fileLines

      public List<String> fileLines(org.sonar.api.batch.fs.InputFile inputFile)
    • inputFileContents

      public String inputFileContents(org.sonar.api.batch.fs.InputFile inputFile)
    • analysisCancelled

      public boolean analysisCancelled()
    • shouldFailAnalysisOnException

      public boolean shouldFailAnalysisOnException()
    • isFileByFileEnabled

      public boolean isFileByFileEnabled()
    • isAutoScan

      public boolean isAutoScan()
    • isAutoScanCheckFiltering

      public boolean isAutoScanCheckFiltering()
    • getBatchModeSizeInKB

      public long getBatchModeSizeInKB()
      Returns the batch mode size as read from configuration, in Kilo Bytes. If not value can be found, compute dynamically an ideal value.
      Returns:
      the batch mode size or a default value of -1L.
    • projectLevelWorkDir

      public File projectLevelWorkDir()
    • getModuleKey

      public String getModuleKey()
      Returns an OS-independent key that should identify the module within the project
      Returns:
      A key representing the module
    • canSkipUnchangedFiles

      public boolean canSkipUnchangedFiles() throws ApiMismatchException
      Throws:
      ApiMismatchException
    • fileCanBeSkipped

      public boolean fileCanBeSkipped(org.sonar.api.batch.fs.InputFile inputFile)
    • project

      public org.sonar.api.batch.fs.InputComponent project()
    • collectUndefinedTypes

      public void collectUndefinedTypes(Set<JProblem> undefinedTypes)
    • logUndefinedTypes

      public void logUndefinedTypes()
    • context

      public org.sonar.api.batch.sensor.SensorContext context()