<AWT Dev> awt-related types that are candidates to be FunctionalInterfaces in JDK 8

Phil Race philip.race at oracle.com
Wed Feb 6 09:12:17 PST 2013


Joe,

A number of these classes, notably anything with "image", or "print" in 
the package
or class names and also Stroke.java, belong to 2D, not AWT.

Please re-direct the discussion on these classes to 2d-dev.

-phil.

On 2/5/13 2:41 PM, Joe Darcy wrote:
> Hello,
>
> As part of Project Lambda, a FunctionalInterface annotation type was 
> added to the platform to mark interfaces that are intended to be used 
> in lambda expressions.  I've sent out a code review request to add 
> this annotation to types in the core-libs area [1].
>
> To assist the awt team in adding analogous annotations to your types, 
> the list of candidate types in for awt-related classes in java.* and 
> javax.* is given below.  I recommend sub-tasks of JDK-8005297 "Add 
> FunctionalInterface support to the platform" be used to track the work 
> of adding @FunctionalInterface annotations to awt types.
>
> Thanks,
>
> -Joe
>
> [1] 
> http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-February/014292.html
>
> jdk/src/share/classes/java/awt/Transparency.java:36: Note: Candidate 
> functional interface
> public interface Transparency {
>        ^
> jdk/src/share/classes/java/awt/EventFilter.java:27: Note: Candidate 
> functional interface
> interface EventFilter {
> ^
> jdk/src/share/classes/java/awt/event/AdjustmentListener.java:36: Note: 
> Candidate functional interface
> public interface AdjustmentListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/event/MouseWheelListener.java:51: Note: 
> Candidate functional interface
> public interface MouseWheelListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/event/TextListener.java:46: Note: 
> Candidate functional interface
> public interface TextListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/event/WindowStateListener.java:50: 
> Note: Candidate functional interface
> public interface WindowStateListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/event/ItemListener.java:47: Note: 
> Candidate functional interface
> public interface ItemListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/event/HierarchyListener.java:49: Note: 
> Candidate functional interface
> public interface HierarchyListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/event/AWTEventListener.java:55: Note: 
> Candidate functional interface
> public interface AWTEventListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/event/ActionListener.java:45: Note: 
> Candidate functional interface
> public interface ActionListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/print/Printable.java:105: Note: 
> Candidate functional interface
> public interface Printable {
>        ^
> jdk/src/share/classes/java/awt/print/PrinterGraphics.java:36: Note: 
> Candidate functional interface
> public interface PrinterGraphics {
>        ^
> jdk/src/share/classes/java/awt/KeyEventPostProcessor.java:57: Note: 
> Candidate functional interface
> public interface KeyEventPostProcessor {
>        ^
> jdk/src/share/classes/java/awt/peer/SystemTrayPeer.java:35: Note: 
> Candidate functional interface
> public interface SystemTrayPeer {
>        ^
> jdk/src/share/classes/java/awt/ActiveEvent.java:52: Note: Candidate 
> functional interface
> public interface ActiveEvent {
>        ^
> jdk/src/share/classes/java/awt/image/ImageObserver.java:40: Note: 
> Candidate functional interface
> public interface ImageObserver {
>        ^
> jdk/src/share/classes/java/awt/image/renderable/RenderedImageFactory.java:47: 
> Note: Candidate functional interface
> public interface RenderedImageFactory {
>        ^
> jdk/src/share/classes/java/awt/image/TileObserver.java:39: Note: 
> Candidate functional interface
> public interface TileObserver {
>        ^
> jdk/src/share/classes/java/awt/dnd/DragSourceMotionListener.java:53: 
> Note: Candidate functional interface
> public interface DragSourceMotionListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/dnd/DragGestureListener.java:48: Note: 
> Candidate functional interface
>  public interface DragGestureListener extends EventListener {
>         ^
> jdk/src/share/classes/java/awt/PrintGraphics.java:33: Note: Candidate 
> functional interface
> public interface PrintGraphics {
>        ^
> jdk/src/share/classes/java/awt/Stroke.java:58: Note: Candidate 
> functional interface
> public interface Stroke {
>        ^
> jdk/src/share/classes/java/awt/datatransfer/ClipboardOwner.java:44: 
> Note: Candidate functional interface
> public interface ClipboardOwner {
>        ^
> jdk/src/share/classes/java/awt/datatransfer/FlavorListener.java:36: 
> Note: Candidate functional interface
> public interface FlavorListener extends EventListener {
>        ^
> jdk/src/share/classes/java/awt/KeyEventDispatcher.java:54: Note: 
> Candidate functional interface
> public interface KeyEventDispatcher {
>        ^
> jdk/src/share/classes/java/awt/Container.java:2440: Note: Candidate 
> functional interface
>     static interface EventTargetFilter {
>            ^
> jdk/src/share/classes/java/awt/Composite.java:68: Note: Candidate 
> functional interface
> public interface Composite {
>        ^
> jdk/src/share/classes/java/awt/Conditional.java:35: Note: Candidate 
> functional interface
> interface Conditional {
> ^
>




More information about the awt-dev mailing list