Interface PrerequisitesChecker
- All Known Implementing Classes:
ReactorChecker
public interface PrerequisitesChecker
check wheather the given runConfig has a chance to be successful or needs corrective measure.
Usecase would be the netbeans-run-plugin which requires a netbeans-public profile with a
jar and assembly configurations..
Similar to LateBoundPrerequisitesChecker but this one is called only once per action invokation.
Reruns (from output window for example) don't retrigger this.
The PrerequisitesChecker
must be registered in Project type's Lookup,
and can be registered for a specific packaging type. There's a special packaging pseudo-type _any,
that is included for every packaging type, and its services are run after all packaging-specific ones. So the
execution happens the following order:
- generic services, registered in project type's Lookup. They should establish the defaults suitable for all projects.
- packaging-specific services. Can override values or provide special values specifically for the packaging type.
- _any services. Provide a fallback if no packaging (or other specific) service created the necessary data. These are also run for all packaging types.
Let's have some examples:
/**
* Registers a service provider in project's lookup, for all packaging types.
*/
@ProjectServiceProvider(service= PrerequisitesChecker.class, projectType="org-netbeans-modules-maven")
public static class GeneralPrerequisiteChecker implements PrerequisitesChecker {
@Override
public boolean checkRunConfig(RunConfig config) {
return true;
}
}
/**
* Registers a service provider for "jar" packaging type only.
*/
@ProjectServiceProvider(service= PrerequisitesChecker.class, projectType="org-netbeans-modules-maven/jar")
public static class SpecificPrerequisiteChecker implements PrerequisitesChecker {
@Override
public boolean checkRunConfig(RunConfig config) {
return true;
}
}
/**
* Registers a service fallback, which will be run after all generics and services specific for a packaging type.
*/
@ProjectServiceProvider(service= PrerequisitesChecker.class, projectType="org-netbeans-modules-maven/_any")
public static class FallbackPrerequisiteChecker implements PrerequisitesChecker {
@Override
public boolean checkRunConfig(RunConfig config) {
return true;
}
}
- See Also:
-
Method Summary
-
Method Details
-
checkRunConfig
- Parameters:
config
-- Returns:
- true if the execution shall continue., otherwise it will be aborted.
-