Adding some interface default method implementations (#2879)

* Adding some interface default method implementations rather than catching AbstractMethodError or providing partial implementation classes.

* Show Javadoc warnings and errors, but not ‘Generating …/core/target/site/apidocs/jenkins/model/lazy/class-use/AbstractLazyLoadRunMap.html...’ and the like.

* Javadoc fixes.

* Review comments from @oleg-nenashev.

* Test fixes.

* Remove the unused import
This commit is contained in:
Jesse Glick authored and Oleg Nenashev committed 2017-05-20 12:32:52 +02:00
1 parent 1f4183a9a3
commit d13b1361e1
42 files changed
+231 -399

No files matched your search

@@ -27,6 +27,8 @@ import hudson.model.Hudson;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Nonnull;
/**
@@ -92,5 +94,8 @@ public interface PluginStrategy extends ExtensionPoint {
* @param dependee newly loaded plugin.
* @since 1.557
*/
void updateDependency(PluginWrapper depender, PluginWrapper dependee);
// TODO an @Abstract annotation with a matching processor could make it a compile-time error to neglect to override this, without breaking binary compatibility
default void updateDependency(PluginWrapper depender, PluginWrapper dependee) {
Logger.getLogger(PluginStrategy.class.getName()).log(Level.WARNING, "{0} does not yet implement updateDependency", getClass());
}
}