8005623: Retrofit FunctionalInterface annotations to core platform interfaces
authordarcy
Fri, 08 Feb 2013 16:00:23 -0800
changeset 15647 314007859004
parent 15646 b065aeb8e26b
child 15648 6a38cf764825
8005623: Retrofit FunctionalInterface annotations to core platform interfaces Reviewed-by: mduigou, chegar, alanb
jdk/src/share/classes/java/io/Closeable.java
jdk/src/share/classes/java/io/FileFilter.java
jdk/src/share/classes/java/io/FilenameFilter.java
jdk/src/share/classes/java/io/Flushable.java
jdk/src/share/classes/java/lang/AutoCloseable.java
jdk/src/share/classes/java/lang/Comparable.java
jdk/src/share/classes/java/lang/Iterable.java
jdk/src/share/classes/java/lang/Readable.java
jdk/src/share/classes/java/lang/Runnable.java
jdk/src/share/classes/java/lang/Thread.java
jdk/src/share/classes/java/nio/file/DirectoryStream.java
jdk/src/share/classes/java/nio/file/PathMatcher.java
jdk/src/share/classes/java/util/Comparator.java
jdk/src/share/classes/java/util/function/BinaryOperator.java
jdk/src/share/classes/java/util/function/Block.java
jdk/src/share/classes/java/util/function/DoubleBinaryOperator.java
jdk/src/share/classes/java/util/function/DoubleBlock.java
jdk/src/share/classes/java/util/function/DoubleFunction.java
jdk/src/share/classes/java/util/function/DoubleSupplier.java
jdk/src/share/classes/java/util/function/DoubleUnaryOperator.java
jdk/src/share/classes/java/util/function/Function.java
jdk/src/share/classes/java/util/function/IntBinaryOperator.java
jdk/src/share/classes/java/util/function/IntBlock.java
jdk/src/share/classes/java/util/function/IntFunction.java
jdk/src/share/classes/java/util/function/IntSupplier.java
jdk/src/share/classes/java/util/function/IntUnaryOperator.java
jdk/src/share/classes/java/util/function/LongBinaryOperator.java
jdk/src/share/classes/java/util/function/LongBlock.java
jdk/src/share/classes/java/util/function/LongFunction.java
jdk/src/share/classes/java/util/function/LongSupplier.java
jdk/src/share/classes/java/util/function/LongUnaryOperator.java
jdk/src/share/classes/java/util/function/Predicate.java
jdk/src/share/classes/java/util/function/Supplier.java
jdk/src/share/classes/java/util/function/UnaryOperator.java
jdk/src/share/classes/java/util/logging/Filter.java
jdk/src/share/classes/java/util/prefs/PreferenceChangeListener.java
--- a/jdk/src/share/classes/java/io/Closeable.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/io/Closeable.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
  *
  * @since 1.5
  */
-
+@FunctionalInterface
 public interface Closeable extends AutoCloseable {
 
     /**
--- a/jdk/src/share/classes/java/io/FileFilter.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/io/FileFilter.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,7 @@
  *
  * @since 1.2
  */
+@FunctionalInterface
 public interface FileFilter {
 
     /**
@@ -46,5 +47,4 @@
      *          should be included
      */
     boolean accept(File pathname);
-
 }
--- a/jdk/src/share/classes/java/io/FilenameFilter.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/io/FilenameFilter.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,8 +39,8 @@
  * @see     java.io.File#list(java.io.FilenameFilter)
  * @since   JDK1.0
  */
-public
-interface FilenameFilter {
+@FunctionalInterface
+public interface FilenameFilter {
     /**
      * Tests if a specified file should be included in a file list.
      *
--- a/jdk/src/share/classes/java/io/Flushable.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/io/Flushable.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
  *
  * @since 1.5
  */
-
+@FunctionalInterface
 public interface Flushable {
 
     /**
--- a/jdk/src/share/classes/java/lang/AutoCloseable.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/lang/AutoCloseable.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,7 @@
  * @author Josh Bloch
  * @since 1.7
  */
+@FunctionalInterface
 public interface AutoCloseable {
     /**
      * Closes this resource, relinquishing any underlying resources.
--- a/jdk/src/share/classes/java/lang/Comparable.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/lang/Comparable.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -93,7 +93,7 @@
  * @see java.util.Comparator
  * @since 1.2
  */
-
+@FunctionalInterface
 public interface Comparable<T> {
     /**
      * Compares this object with the specified object for order.  Returns a
--- a/jdk/src/share/classes/java/lang/Iterable.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/lang/Iterable.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,7 @@
  *
  * @since 1.5
  */
+@FunctionalInterface
 public interface Iterable<T> {
 
     /**
--- a/jdk/src/share/classes/java/lang/Readable.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/lang/Readable.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
  *
  * @since 1.5
  */
-
+@FunctionalInterface
 public interface Readable {
 
     /**
@@ -51,5 +51,4 @@
      * @throws java.nio.ReadOnlyBufferException if cb is a read only buffer
      */
     public int read(java.nio.CharBuffer cb) throws IOException;
-
 }
--- a/jdk/src/share/classes/java/lang/Runnable.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/lang/Runnable.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,8 +52,8 @@
  * @see     java.util.concurrent.Callable
  * @since   JDK1.0
  */
-public
-interface Runnable {
+@FunctionalInterface
+public interface Runnable {
     /**
      * When an object implementing interface <code>Runnable</code> is used
      * to create a thread, starting the thread causes the object's
--- a/jdk/src/share/classes/java/lang/Thread.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/lang/Thread.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1851,6 +1851,7 @@
      * @see ThreadGroup#uncaughtException
      * @since 1.5
      */
+    @FunctionalInterface
     public interface UncaughtExceptionHandler {
         /**
          * Method invoked when the given thread terminates due to the
--- a/jdk/src/share/classes/java/nio/file/DirectoryStream.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/nio/file/DirectoryStream.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -117,8 +117,7 @@
  */
 
 public interface DirectoryStream<T>
-    extends Closeable, Iterable<T>
-{
+    extends Closeable, Iterable<T> {
     /**
      * An interface that is implemented by objects that decide if a directory
      * entry should be accepted or filtered. A {@code Filter} is passed as the
@@ -130,6 +129,7 @@
      *
      * @since 1.7
      */
+    @FunctionalInterface
     public static interface Filter<T> {
         /**
          * Decides if the given directory entry should be accepted or filtered.
--- a/jdk/src/share/classes/java/nio/file/PathMatcher.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/nio/file/PathMatcher.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
  * @see FileSystem#getPathMatcher
  * @see Files#newDirectoryStream(Path,String)
  */
-
+@FunctionalInterface
 public interface PathMatcher {
     /**
      * Tells if given path matches this matcher's pattern.
--- a/jdk/src/share/classes/java/util/Comparator.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/Comparator.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -98,7 +98,7 @@
  * @see java.io.Serializable
  * @since 1.2
  */
-
+@FunctionalInterface
 public interface Comparator<T> {
     /**
      * Compares its two arguments for order.  Returns a negative integer,
--- a/jdk/src/share/classes/java/util/function/BinaryOperator.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/BinaryOperator.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface BinaryOperator<T> {
 
     /**
--- a/jdk/src/share/classes/java/util/function/Block.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/Block.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface Block<T> {
 
     /**
--- a/jdk/src/share/classes/java/util/function/DoubleBinaryOperator.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/DoubleBinaryOperator.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface DoubleBinaryOperator /* extends BinaryOperator<Double> */ {
 //
 //    @Override
--- a/jdk/src/share/classes/java/util/function/DoubleBlock.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/DoubleBlock.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface DoubleBlock {
 
     /**
--- a/jdk/src/share/classes/java/util/function/DoubleFunction.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/DoubleFunction.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface DoubleFunction<T> {
 
     /**
--- a/jdk/src/share/classes/java/util/function/DoubleSupplier.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/DoubleSupplier.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface DoubleSupplier {
 
     /**
--- a/jdk/src/share/classes/java/util/function/DoubleUnaryOperator.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/DoubleUnaryOperator.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface DoubleUnaryOperator {
 
     /**
--- a/jdk/src/share/classes/java/util/function/Function.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/Function.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface Function<T, R> {
 
     /**
--- a/jdk/src/share/classes/java/util/function/IntBinaryOperator.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/IntBinaryOperator.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface IntBinaryOperator {
 
     /**
--- a/jdk/src/share/classes/java/util/function/IntBlock.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/IntBlock.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface IntBlock {
 
     /**
--- a/jdk/src/share/classes/java/util/function/IntFunction.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/IntFunction.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface IntFunction<T> {
 
     /**
--- a/jdk/src/share/classes/java/util/function/IntSupplier.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/IntSupplier.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface IntSupplier {
 
     /**
--- a/jdk/src/share/classes/java/util/function/IntUnaryOperator.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/IntUnaryOperator.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface IntUnaryOperator {
 
     /**
--- a/jdk/src/share/classes/java/util/function/LongBinaryOperator.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/LongBinaryOperator.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface LongBinaryOperator {
 
     /**
--- a/jdk/src/share/classes/java/util/function/LongBlock.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/LongBlock.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface LongBlock {
 
     /**
--- a/jdk/src/share/classes/java/util/function/LongFunction.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/LongFunction.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface LongFunction<T> {
 
     /**
--- a/jdk/src/share/classes/java/util/function/LongSupplier.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/LongSupplier.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface LongSupplier {
 
     /**
--- a/jdk/src/share/classes/java/util/function/LongUnaryOperator.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/LongUnaryOperator.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface LongUnaryOperator {
 
     /**
--- a/jdk/src/share/classes/java/util/function/Predicate.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/Predicate.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface Predicate<T> {
 
     /**
--- a/jdk/src/share/classes/java/util/function/Supplier.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/Supplier.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface Supplier<T> {
 
     /**
--- a/jdk/src/share/classes/java/util/function/UnaryOperator.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/function/UnaryOperator.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  *
  * @since 1.8
  */
+@FunctionalInterface
 public interface UnaryOperator<T> {
 
     /**
--- a/jdk/src/share/classes/java/util/logging/Filter.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/logging/Filter.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,7 +37,7 @@
  *
  * @since 1.4
  */
-
+@FunctionalInterface
 public interface Filter {
 
     /**
@@ -46,5 +46,4 @@
      * @return true if the log record should be published.
      */
     public boolean isLoggable(LogRecord record);
-
 }
--- a/jdk/src/share/classes/java/util/prefs/PreferenceChangeListener.java	Fri Feb 08 09:35:14 2013 -0800
+++ b/jdk/src/share/classes/java/util/prefs/PreferenceChangeListener.java	Fri Feb 08 16:00:23 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
  * @see NodeChangeListener
  * @since   1.4
  */
+@FunctionalInterface
 public interface PreferenceChangeListener extends java.util.EventListener {
     /**
      * This method gets called when a preference is added, removed or when