diff --git a/core/src/main/java/hudson/BulkChange.java b/core/src/main/java/hudson/BulkChange.java index 35bdf66cb4..69ff455829 100644 --- a/core/src/main/java/hudson/BulkChange.java +++ b/core/src/main/java/hudson/BulkChange.java @@ -160,9 +160,6 @@ public class BulkChange implements Closeable { * all the save operations by making the {@link #contains(Saveable)} method return * true for everything. */ - public static final Saveable ALL = new Saveable() { - @Override - public void save() { - } + public static final Saveable ALL = () -> { }; } diff --git a/core/src/main/java/hudson/ClassicPluginStrategy.java b/core/src/main/java/hudson/ClassicPluginStrategy.java index 19f04f0168..34cc9e246a 100644 --- a/core/src/main/java/hudson/ClassicPluginStrategy.java +++ b/core/src/main/java/hudson/ClassicPluginStrategy.java @@ -83,12 +83,7 @@ public class ClassicPluginStrategy implements PluginStrategy { /** * Filter for jar files. */ - private static final FilenameFilter JAR_FILTER = new FilenameFilter() { - @Override - public boolean accept(File dir,String name) { - return name.endsWith(".jar"); - } - }; + private static final FilenameFilter JAR_FILTER = (dir, name) -> name.endsWith(".jar"); private PluginManager pluginManager; diff --git a/core/src/main/java/hudson/ExtensionFinder.java b/core/src/main/java/hudson/ExtensionFinder.java index da23b5b01d..12df256b6a 100644 --- a/core/src/main/java/hudson/ExtensionFinder.java +++ b/core/src/main/java/hudson/ExtensionFinder.java @@ -543,12 +543,7 @@ public abstract class ExtensionFinder implements ExtensionPoint { // make unique key, because Guice wants that. Key key = Key.get(extType, Names.named(item.className() + "." + item.memberName())); annotations.put(key,a); - bind(key).toProvider(new Provider() { - @Override - public Object get() { - return instantiate(item); - } - }).in(scope); + bind(key).toProvider(() -> instantiate(item)).in(scope); } loadedIndex.add(item); } catch (Exception|LinkageError e) { diff --git a/core/src/main/java/hudson/FilePath.java b/core/src/main/java/hudson/FilePath.java index f785d0c881..c2f612f18e 100644 --- a/core/src/main/java/hudson/FilePath.java +++ b/core/src/main/java/hudson/FilePath.java @@ -3365,12 +3365,7 @@ public final class FilePath implements SerializableOnlyOverRemoting { private static final long serialVersionUID = 1L; } - private static final Comparator SHORTER_STRING_FIRST = new Comparator() { - @Override - public int compare(String o1, String o2) { - return o1.length()-o2.length(); - } - }; + private static final Comparator SHORTER_STRING_FIRST = (o1, o2) -> o1.length() - o2.length(); /** * Gets the {@link FilePath} representation of the "~" directory diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index 32148e0c46..59632484ec 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -1982,12 +1982,7 @@ public abstract class AbstractProject

,R extends A return Items.findNearest(AbstractProject.class, name, context); } - private static final Comparator REVERSE_INTEGER_COMPARATOR = new Comparator() { - @Override - public int compare(Integer o1, Integer o2) { - return o2-o1; - } - }; + private static final Comparator REVERSE_INTEGER_COMPARATOR = (o1, o2) -> o2 - o1; private static final Logger LOGGER = Logger.getLogger(AbstractProject.class.getName()); diff --git a/core/src/main/java/hudson/model/BooleanParameterValue.java b/core/src/main/java/hudson/model/BooleanParameterValue.java index 36242f3c51..7ca9cbbff0 100644 --- a/core/src/main/java/hudson/model/BooleanParameterValue.java +++ b/core/src/main/java/hudson/model/BooleanParameterValue.java @@ -64,12 +64,7 @@ public class BooleanParameterValue extends ParameterValue { @Override public VariableResolver createVariableResolver(AbstractBuild build) { - return new VariableResolver() { - @Override - public String resolve(String name) { - return BooleanParameterValue.this.name.equals(name) ? Boolean.toString(value) : null; - } - }; + return name -> BooleanParameterValue.this.name.equals(name) ? Boolean.toString(value) : null; } @Override diff --git a/core/src/main/java/hudson/model/DependencyGraph.java b/core/src/main/java/hudson/model/DependencyGraph.java index 7fcb6673c4..18e8d64b60 100644 --- a/core/src/main/java/hudson/model/DependencyGraph.java +++ b/core/src/main/java/hudson/model/DependencyGraph.java @@ -130,12 +130,7 @@ public class DependencyGraph implements Comparator { } } - topologicalOrder = new Comparator>() { - @Override - public int compare(AbstractProject o1, AbstractProject o2) { - return topoOrder.get(o1)-topoOrder.get(o2); - } - }; + topologicalOrder = Comparator.comparingInt(topoOrder::get); topologicallySorted = Collections.unmodifiableList(topologicallySorted); } diff --git a/core/src/main/java/hudson/model/FileParameterValue.java b/core/src/main/java/hudson/model/FileParameterValue.java index 1213ce28a7..f2c2977a13 100644 --- a/core/src/main/java/hudson/model/FileParameterValue.java +++ b/core/src/main/java/hudson/model/FileParameterValue.java @@ -133,12 +133,7 @@ public class FileParameterValue extends ParameterValue { @Override public VariableResolver createVariableResolver(AbstractBuild build) { - return new VariableResolver() { - @Override - public String resolve(String name) { - return FileParameterValue.this.name.equals(name) ? originalFileName : null; - } - }; + return name -> FileParameterValue.this.name.equals(name) ? originalFileName : null; } /** diff --git a/core/src/main/java/hudson/model/ItemGroupMixIn.java b/core/src/main/java/hudson/model/ItemGroupMixIn.java index fc050f6078..c9020b521d 100644 --- a/core/src/main/java/hudson/model/ItemGroupMixIn.java +++ b/core/src/main/java/hudson/model/ItemGroupMixIn.java @@ -41,7 +41,6 @@ import javax.xml.transform.TransformerException; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import java.io.File; -import java.io.FileFilter; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; @@ -101,12 +100,7 @@ public abstract class ItemGroupMixIn { public static Map loadChildren(ItemGroup parent, File modulesDir, Function1 key) { modulesDir.mkdirs(); // make sure it exists - File[] subdirs = modulesDir.listFiles(new FileFilter() { - @Override - public boolean accept(File child) { - return child.isDirectory(); - } - }); + File[] subdirs = modulesDir.listFiles(File::isDirectory); CopyOnWriteMap.Tree configurations = new CopyOnWriteMap.Tree<>(); for (File subdir : subdirs) { try { @@ -135,12 +129,7 @@ public abstract class ItemGroupMixIn { /** * {@link Item} → name function. */ - public static final Function1 KEYED_BY_NAME = new Function1() { - @Override - public String call(Item item) { - return item.getName(); - } - }; + public static final Function1 KEYED_BY_NAME = Item::getName; /** * Creates a {@link TopLevelItem} for example from the submission of the {@code /lib/hudson/newFromList/form} tag diff --git a/core/src/main/java/hudson/model/PasswordParameterValue.java b/core/src/main/java/hudson/model/PasswordParameterValue.java index 35c6bbfaa0..dd59b97a2d 100644 --- a/core/src/main/java/hudson/model/PasswordParameterValue.java +++ b/core/src/main/java/hudson/model/PasswordParameterValue.java @@ -65,12 +65,7 @@ public class PasswordParameterValue extends ParameterValue { @Override public VariableResolver createVariableResolver(AbstractBuild build) { - return new VariableResolver() { - @Override - public String resolve(String name) { - return PasswordParameterValue.this.name.equals(name) ? Secret.toString(value) : null; - } - }; + return name -> PasswordParameterValue.this.name.equals(name) ? Secret.toString(value) : null; } @Override diff --git a/core/src/main/java/hudson/model/RunMap.java b/core/src/main/java/hudson/model/RunMap.java index d7a22c0905..1867a97e2c 100644 --- a/core/src/main/java/hudson/model/RunMap.java +++ b/core/src/main/java/hudson/model/RunMap.java @@ -159,12 +159,7 @@ public final class RunMap> extends AbstractLazyLoadRunMap * Use {@link ReverseComparator} */ @Deprecated - public static final Comparator COMPARATOR = new Comparator() { - @Override - public int compare(Comparable o1, Comparable o2) { - return o2.compareTo(o1); - } - }; + public static final Comparator COMPARATOR = Comparator.reverseOrder(); /** * {@link Run} factory. diff --git a/core/src/main/java/hudson/model/Saveable.java b/core/src/main/java/hudson/model/Saveable.java index 49b65af7f8..a2e8b8f9a4 100644 --- a/core/src/main/java/hudson/model/Saveable.java +++ b/core/src/main/java/hudson/model/Saveable.java @@ -52,9 +52,6 @@ public interface Saveable { * {@link Saveable} that doesn't save anything. * @since 1.301. */ - Saveable NOOP = new Saveable() { - @Override - public void save() throws IOException { - } + Saveable NOOP = () -> { }; } diff --git a/core/src/main/java/hudson/model/StringParameterValue.java b/core/src/main/java/hudson/model/StringParameterValue.java index da66ff65b7..5a7074adde 100644 --- a/core/src/main/java/hudson/model/StringParameterValue.java +++ b/core/src/main/java/hudson/model/StringParameterValue.java @@ -63,12 +63,7 @@ public class StringParameterValue extends ParameterValue { @Override public VariableResolver createVariableResolver(AbstractBuild build) { - return new VariableResolver() { - @Override - public String resolve(String name) { - return StringParameterValue.this.name.equals(name) ? value : null; - } - }; + return name -> StringParameterValue.this.name.equals(name) ? value : null; } @Override diff --git a/core/src/main/java/hudson/model/View.java b/core/src/main/java/hudson/model/View.java index 26b1f2414f..6e13fcd577 100644 --- a/core/src/main/java/hudson/model/View.java +++ b/core/src/main/java/hudson/model/View.java @@ -1307,12 +1307,7 @@ public abstract class View extends AbstractModelObject implements AccessControll return r; } - public static final Comparator SORTER = new Comparator() { - @Override - public int compare(View lhs, View rhs) { - return lhs.getViewName().compareTo(rhs.getViewName()); - } - }; + public static final Comparator SORTER = Comparator.comparing(View::getViewName); public static final PermissionGroup PERMISSIONS = new PermissionGroup(View.class,Messages._View_Permissions_Title()); /** diff --git a/core/src/main/java/hudson/model/queue/QueueSorter.java b/core/src/main/java/hudson/model/queue/QueueSorter.java index 6c9d865240..13b830cf87 100644 --- a/core/src/main/java/hudson/model/queue/QueueSorter.java +++ b/core/src/main/java/hudson/model/queue/QueueSorter.java @@ -27,12 +27,7 @@ public abstract class QueueSorter implements ExtensionPoint { * * @since 1.618 */ - public static final Comparator DEFAULT_BLOCKED_ITEM_COMPARATOR = new Comparator() { - @Override - public int compare(Queue.BlockedItem o1, Queue.BlockedItem o2) { - return Long.compare(o1.getInQueueSince(), o2.getInQueueSince()); - } - }; + public static final Comparator DEFAULT_BLOCKED_ITEM_COMPARATOR = Comparator.comparingLong(Queue.Item::getInQueueSince); /** * Sorts the buildable items list. The items at the beginning will be executed diff --git a/core/src/main/java/hudson/security/Permission.java b/core/src/main/java/hudson/security/Permission.java index 3ebe8c4100..b51667150c 100644 --- a/core/src/main/java/hudson/security/Permission.java +++ b/core/src/main/java/hudson/security/Permission.java @@ -53,15 +53,7 @@ public final class Permission { /** * Comparator that orders {@link Permission} objects based on their ID. */ - public static final Comparator ID_COMPARATOR = new Comparator() { - - // break eclipse compilation - //Override - @Override - public int compare(@NonNull Permission one, @NonNull Permission two) { - return one.getId().compareTo(two.getId()); - } - }; + public static final Comparator ID_COMPARATOR = Comparator.comparing(Permission::getId); public final @NonNull Class owner; diff --git a/core/src/main/java/hudson/util/FileVisitor.java b/core/src/main/java/hudson/util/FileVisitor.java index c8503d5689..31572a8372 100644 --- a/core/src/main/java/hudson/util/FileVisitor.java +++ b/core/src/main/java/hudson/util/FileVisitor.java @@ -67,12 +67,7 @@ public abstract class FileVisitor { visitor.visit(f,relativePath); } - private static final FileFilter PASS_THROUGH = new FileFilter() { - @Override - public boolean accept(File pathname) { - return true; - } - }; + private static final FileFilter PASS_THROUGH = pathname -> true; private static final long serialVersionUID = 1L; } diff --git a/core/src/main/java/hudson/util/TableNestChecker.java b/core/src/main/java/hudson/util/TableNestChecker.java index a6d54242e6..0ebe1a7ab5 100644 --- a/core/src/main/java/hudson/util/TableNestChecker.java +++ b/core/src/main/java/hudson/util/TableNestChecker.java @@ -98,12 +98,7 @@ public class TableNestChecker extends XMLFilterImpl { boolean isAllowed(String childTag); } - private static final Checker ALL_ALLOWED = new Checker() { - @Override - public boolean isAllowed(String childTag) { - return true; - } - }; + private static final Checker ALL_ALLOWED = childTag -> true; private static final class InList implements Checker { private final Set tags; diff --git a/core/src/main/java/hudson/util/VariableResolver.java b/core/src/main/java/hudson/util/VariableResolver.java index 420e8bd8f7..859ccb1abe 100644 --- a/core/src/main/java/hudson/util/VariableResolver.java +++ b/core/src/main/java/hudson/util/VariableResolver.java @@ -55,12 +55,7 @@ public interface VariableResolver { /** * Empty resolver that always returns null. */ - VariableResolver NONE = new VariableResolver() { - @Override - public Object resolve(String name) { - return null; - } - }; + VariableResolver NONE = name -> null; /** * {@link VariableResolver} backed by a {@link Map}. diff --git a/core/src/main/java/hudson/views/MyViewsTabBar.java b/core/src/main/java/hudson/views/MyViewsTabBar.java index d2d29e4769..8e2dc7302f 100644 --- a/core/src/main/java/hudson/views/MyViewsTabBar.java +++ b/core/src/main/java/hudson/views/MyViewsTabBar.java @@ -83,12 +83,7 @@ public abstract class MyViewsTabBar extends AbstractDescribableImpl sort(@NonNull List views) { List result = new ArrayList<>(views); - result.sort(new Comparator() { - @Override - public int compare(View o1, View o2) { - return o1.getDisplayName().compareTo(o2.getDisplayName()); - } - }); + result.sort(Comparator.comparing(View::getDisplayName)); return result; } diff --git a/core/src/main/java/hudson/views/ViewsTabBar.java b/core/src/main/java/hudson/views/ViewsTabBar.java index 93aa308456..a6dd64c7b6 100644 --- a/core/src/main/java/hudson/views/ViewsTabBar.java +++ b/core/src/main/java/hudson/views/ViewsTabBar.java @@ -83,12 +83,7 @@ public abstract class ViewsTabBar extends AbstractDescribableImpl i @SuppressWarnings("unused") // invoked from stapler view public List sort(@NonNull List views) { List result = new ArrayList<>(views); - result.sort(new Comparator() { - @Override - public int compare(View o1, View o2) { - return o1.getDisplayName().compareTo(o2.getDisplayName()); - } - }); + result.sort(Comparator.comparing(View::getDisplayName)); return result; } diff --git a/core/src/main/java/jenkins/model/Nodes.java b/core/src/main/java/jenkins/model/Nodes.java index 5e4ff79227..9ad71092de 100644 --- a/core/src/main/java/jenkins/model/Nodes.java +++ b/core/src/main/java/jenkins/model/Nodes.java @@ -42,7 +42,6 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; import java.io.File; -import java.io.FileFilter; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; @@ -306,12 +305,8 @@ public class Nodes implements Saveable { xmlFile.write(n); SaveableListener.fireOnChange(this, xmlFile); } - for (File forDeletion : nodesDir.listFiles(new FileFilter() { - @Override - public boolean accept(File pathname) { - return pathname.isDirectory() && !existing.contains(pathname.getName()); - } - })) { + for (File forDeletion : nodesDir.listFiles(pathname -> + pathname.isDirectory() && !existing.contains(pathname.getName()))) { Util.deleteRecursive(forDeletion); } } @@ -334,12 +329,7 @@ public class Nodes implements Saveable { */ public void load() throws IOException { final File nodesDir = getNodesDir(); - final File[] subdirs = nodesDir.listFiles(new FileFilter() { - @Override - public boolean accept(File child) { - return child.isDirectory(); - } - }); + final File[] subdirs = nodesDir.listFiles(File::isDirectory); final Map newNodes = new TreeMap<>(); if (subdirs != null) { for (File subdir : subdirs) { diff --git a/core/src/main/java/jenkins/security/s2m/ConfigDirectory.java b/core/src/main/java/jenkins/security/s2m/ConfigDirectory.java index 9905d10344..9a4bfef702 100644 --- a/core/src/main/java/jenkins/security/s2m/ConfigDirectory.java +++ b/core/src/main/java/jenkins/security/s2m/ConfigDirectory.java @@ -3,7 +3,6 @@ package jenkins.security.s2m; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; -import java.io.FilenameFilter; import java.io.IOException; import java.util.Arrays; import java.util.Collection; @@ -31,12 +30,7 @@ abstract class ConfigDirectory> extends ConfigFile name.endsWith(".conf")); if (fragments!=null) { Arrays.sort(fragments); diff --git a/core/src/main/java/jenkins/security/s2m/FilePathRuleConfig.java b/core/src/main/java/jenkins/security/s2m/FilePathRuleConfig.java index f6f5b8ed3d..ead011f6c2 100644 --- a/core/src/main/java/jenkins/security/s2m/FilePathRuleConfig.java +++ b/core/src/main/java/jenkins/security/s2m/FilePathRuleConfig.java @@ -69,12 +69,7 @@ class FilePathRuleConfig extends ConfigDirectory return OpMatcher.ALL; final Set ops = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(token.split(",")))); - return new OpMatcher() { - @Override - public boolean matches(String op) { - return ops.contains(op); - } - }; + return ops::contains; } public boolean checkFileAccess(String op, File path) throws SecurityException { diff --git a/core/src/main/java/jenkins/security/s2m/OpMatcher.java b/core/src/main/java/jenkins/security/s2m/OpMatcher.java index 7cb83623a2..ce6dc69ca6 100644 --- a/core/src/main/java/jenkins/security/s2m/OpMatcher.java +++ b/core/src/main/java/jenkins/security/s2m/OpMatcher.java @@ -12,10 +12,5 @@ import java.io.File; interface OpMatcher { boolean matches(String op); - OpMatcher ALL = new OpMatcher() { - @Override - public boolean matches(String op) { - return true; - } - }; + OpMatcher ALL = op -> true; } diff --git a/core/src/main/java/jenkins/util/groovy/GroovyHookScript.java b/core/src/main/java/jenkins/util/groovy/GroovyHookScript.java index 8985e9fd07..ee30a17d69 100644 --- a/core/src/main/java/jenkins/util/groovy/GroovyHookScript.java +++ b/core/src/main/java/jenkins/util/groovy/GroovyHookScript.java @@ -4,7 +4,6 @@ import groovy.lang.Binding; import groovy.lang.GroovyCodeSource; import groovy.lang.GroovyShell; import java.io.File; -import java.io.FileFilter; import java.io.IOException; import java.net.URL; import java.util.Arrays; @@ -100,12 +99,7 @@ public class GroovyHookScript { File scriptD = new File(rootDir, hookGroovyD); if (scriptD.isDirectory()) { - File[] scripts = scriptD.listFiles(new FileFilter() { - @Override - public boolean accept(File f) { - return f.getName().endsWith(".groovy"); - } - }); + File[] scripts = scriptD.listFiles(f -> f.getName().endsWith(".groovy")); if (scripts!=null) { // sort to run them in a deterministic order Arrays.sort(scripts);