@Override
    public final void validate(Context context) {
        ApplicationPackage app = context.deployState().getApplicationPackage();
        for (ComponentInfo info : app.getComponentsInfo(context.deployState().getVespaVersion())) {
            Path path = Path.fromString(info.getPathRelativeToAppDir());
            try {
                context.deployState().getDeployLogger()
                        .log(Level.FINE, String.format("Validating bundle at '%s'", path));
                JarFile jarFile = new JarFile(app.getFileReference(path));
                validateJarFile(JarContext.of(context), jarFile);
            } catch (IOException e) {
                context.illegal("Failed to validate JAR file '" + path.last() + "'", e);
            }
        }
    }
Base class for OSGi bundle validator.

@author bjorncs
config-model/src/main/java/com/yahoo/vespa/model/application/validation/AbstractBundleValidator.java