org.sonar.plugins.api.jobs
Interface Job

All Superinterfaces:
Extension, ServerExtension
All Known Implementing Classes:
AbstractJob, AbstractSumChildrenJob, AbstractSumMetricsChildrenJob, AbstractSumsChildrenJob, AbstractWeightingJob, DuplicatedBlocksJob, DuplicatedFilesJob, DuplicatedLinesJob, DuplicatedLinesRatioJob

public interface Job
extends ServerExtension

Server-side job. It is triggered when maven-side analysis is finished.


Method Summary
 java.util.List<java.lang.Class<? extends Job>> dependsOnJobs()
          Dependent jobs for the same scope
 java.util.List<Metric> dependsOnMetrics()
          Depends of another measures for the same scope of resources.
 void execute(JobContext jobContext)
          Executed on filtered resources only.
 java.util.List<Metric> generatesMetrics()
           
 boolean shouldExecuteOnProject(Resource project)
          Filter on projects, for example "do not execute on Java projects".
 boolean shouldExecuteOnResource(Resource resource)
          Filter on resources, for example "do not execute on classes/packages but only on projects.
 

Method Detail

dependsOnMetrics

java.util.List<Metric> dependsOnMetrics()
Depends of another measures for the same scope of resources.


dependsOnJobs

java.util.List<java.lang.Class<? extends Job>> dependsOnJobs()
Dependent jobs for the same scope

Returns:
empty list if no dependencies

generatesMetrics

java.util.List<Metric> generatesMetrics()
Returns:
empty list if the job does not calculate measures

shouldExecuteOnProject

boolean shouldExecuteOnProject(Resource project)
Filter on projects, for example "do not execute on Java projects". This method is called once.


shouldExecuteOnResource

boolean shouldExecuteOnResource(Resource resource)
Filter on resources, for example "do not execute on classes/packages but only on projects.


execute

void execute(JobContext jobContext)
Executed on filtered resources only.



Copyright © 2009 SonarSource SA. All Rights Reserved.