From d6a6c59a2487ee71e94b3ed6e46f9cc9af5d4472 Mon Sep 17 00:00:00 2001 From: Hammy Date: Thu, 12 Aug 2021 13:08:47 +0100 Subject: [PATCH] Add javadocs --- .../java/me/goudham/ClipboardListener.java | 38 +++++++++++++++++++ .../me/goudham/domain/ClipboardContent.java | 4 ++ .../domain/GenericClipboardContent.java | 4 ++ .../me/goudham/domain/MyBufferedImage.java | 3 ++ .../me/goudham/domain/TransferableFile.java | 7 ++++ .../me/goudham/domain/TransferableImage.java | 7 ++++ .../java/me/goudham/event/ClipboardEvent.java | 3 ++ src/main/java/me/goudham/event/FileEvent.java | 3 ++ .../java/me/goudham/event/ImageEvent.java | 4 ++ src/main/java/me/goudham/event/TextEvent.java | 3 ++ 10 files changed, 76 insertions(+) diff --git a/src/main/java/me/goudham/ClipboardListener.java b/src/main/java/me/goudham/ClipboardListener.java index 1850d5d..5df94e8 100644 --- a/src/main/java/me/goudham/ClipboardListener.java +++ b/src/main/java/me/goudham/ClipboardListener.java @@ -57,14 +57,52 @@ abstract class ClipboardListener { */ abstract void insert(String stringContent); + /** + * Insert the given {@link Image} into the system clipboard + * + * @param imageContent The given {@link Image} to insert + * @see WindowsOrUnixClipboardListener#insert(Image) + * @see MacClipboardListener#insert(Image) + */ abstract void insert(Image imageContent); + /** + * Insert the given {@link List} of {@link File} into the system clipboard + * + * @param fileContent The given {@link List} of {@link File} to insert + * @see WindowsOrUnixClipboardListener#insert(List) + * @see MacClipboardListener#insert(List) + */ abstract void insert(List fileContent); + /** + * Insert the given {@link String} into the system clipboard + * and notify the user about the new contents within the clipboard + * + * @param stringContent The given {@link String} to insert + * @see WindowsOrUnixClipboardListener#insertAndNotify(String) + * @see MacClipboardListener#insertAndNotify(String) + */ abstract void insertAndNotify(String stringContent); + /** + * Insert the given {@link Image} into the system clipboard + * and notify the user about the new contents within the clipboard + * + * @param imageContent The given {@link Image} to insert + * @see WindowsOrUnixClipboardListener#insertAndNotify(Image) + * @see MacClipboardListener#insertAndNotify(Image) + */ abstract void insertAndNotify(Image imageContent); + /** + * Insert the given {@link List} of {@link File} into the system clipboard + * and notify the user about the new contents within the clipboard + * + * @param fileContent The given {@link List} of {@link File} to insert + * @see WindowsOrUnixClipboardListener#insertAndNotify(List) + * @see MacClipboardListener#insertAndNotify(List) + */ abstract void insertAndNotify(List fileContent); void toggleTextMonitored() { diff --git a/src/main/java/me/goudham/domain/ClipboardContent.java b/src/main/java/me/goudham/domain/ClipboardContent.java index 47b2c5a..dea01ef 100644 --- a/src/main/java/me/goudham/domain/ClipboardContent.java +++ b/src/main/java/me/goudham/domain/ClipboardContent.java @@ -4,6 +4,10 @@ import java.awt.image.BufferedImage; import java.io.File; import java.util.List; +/** + * Contains potential clipboard contents returned from the clipboard. Supported types are currently {@link String}, + * {@link BufferedImage} and {@link List} of {@link File} + */ public class ClipboardContent { private String text; private BufferedImage image; diff --git a/src/main/java/me/goudham/domain/GenericClipboardContent.java b/src/main/java/me/goudham/domain/GenericClipboardContent.java index 2e28a6b..973820e 100644 --- a/src/main/java/me/goudham/domain/GenericClipboardContent.java +++ b/src/main/java/me/goudham/domain/GenericClipboardContent.java @@ -2,6 +2,10 @@ package me.goudham.domain; import java.util.Objects; +/** + * Contains clipboard contents as generics + * @param Type of data given by the {@link java.awt.datatransfer.Clipboard} + */ public class GenericClipboardContent { private T oldContent; diff --git a/src/main/java/me/goudham/domain/MyBufferedImage.java b/src/main/java/me/goudham/domain/MyBufferedImage.java index 9188615..26a85ff 100644 --- a/src/main/java/me/goudham/domain/MyBufferedImage.java +++ b/src/main/java/me/goudham/domain/MyBufferedImage.java @@ -3,6 +3,9 @@ package me.goudham.domain; import java.awt.image.BufferedImage; import java.util.Objects; +/** + * Wrapper class surrounding {@link MyBufferedImage} to ensure image equality is properly evaluated + */ public class MyBufferedImage { private BufferedImage bufferedImage; diff --git a/src/main/java/me/goudham/domain/TransferableFile.java b/src/main/java/me/goudham/domain/TransferableFile.java index 9b84ef1..4af72b5 100644 --- a/src/main/java/me/goudham/domain/TransferableFile.java +++ b/src/main/java/me/goudham/domain/TransferableFile.java @@ -6,6 +6,13 @@ import java.awt.datatransfer.UnsupportedFlavorException; import java.io.File; import java.util.List; +/** + * A {@link Transferable} which implements the capability required to transfer a + * {@link List} of {@link File} + *

+ * This {@link Transferable} properly supports {@link DataFlavor#javaFileListFlavor} + * @see DataFlavor#javaFileListFlavor + */ public class TransferableFile implements Transferable { private final List files; diff --git a/src/main/java/me/goudham/domain/TransferableImage.java b/src/main/java/me/goudham/domain/TransferableImage.java index 7f20dcd..89450f2 100644 --- a/src/main/java/me/goudham/domain/TransferableImage.java +++ b/src/main/java/me/goudham/domain/TransferableImage.java @@ -6,6 +6,13 @@ import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import org.jetbrains.annotations.NotNull; +/** + * A {@link Transferable} which implements the capability required to transfer a + * {@link java.awt.image.BufferedImage} + *

+ * This {@link Transferable} properly supports {@link DataFlavor#imageFlavor} + * @see DataFlavor#imageFlavor + */ public class TransferableImage implements Transferable { private final Image image; diff --git a/src/main/java/me/goudham/event/ClipboardEvent.java b/src/main/java/me/goudham/event/ClipboardEvent.java index 4193623..c29e31d 100644 --- a/src/main/java/me/goudham/event/ClipboardEvent.java +++ b/src/main/java/me/goudham/event/ClipboardEvent.java @@ -1,4 +1,7 @@ package me.goudham.event; +/** + * Common interface for all events to extend (Not used yet) + */ interface ClipboardEvent { } diff --git a/src/main/java/me/goudham/event/FileEvent.java b/src/main/java/me/goudham/event/FileEvent.java index 7fd49d3..a318fcc 100644 --- a/src/main/java/me/goudham/event/FileEvent.java +++ b/src/main/java/me/goudham/event/FileEvent.java @@ -4,6 +4,9 @@ import java.io.File; import java.util.List; import me.goudham.domain.ClipboardContent; +/** + * Interface for notifying clipboard changes that happen to be {@link File} + */ public interface FileEvent extends ClipboardEvent { void onCopyFiles(ClipboardContent oldContent, List newContent); } diff --git a/src/main/java/me/goudham/event/ImageEvent.java b/src/main/java/me/goudham/event/ImageEvent.java index 6dc699e..091d69e 100644 --- a/src/main/java/me/goudham/event/ImageEvent.java +++ b/src/main/java/me/goudham/event/ImageEvent.java @@ -3,6 +3,10 @@ package me.goudham.event; import java.awt.image.BufferedImage; import me.goudham.domain.ClipboardContent; + +/** + * Interface for notifying clipboard changes that happen to be {@link BufferedImage} + */ public interface ImageEvent extends ClipboardEvent { void onCopyImage(ClipboardContent oldContent, BufferedImage newContent); } diff --git a/src/main/java/me/goudham/event/TextEvent.java b/src/main/java/me/goudham/event/TextEvent.java index 544d7e5..71369e1 100644 --- a/src/main/java/me/goudham/event/TextEvent.java +++ b/src/main/java/me/goudham/event/TextEvent.java @@ -2,6 +2,9 @@ package me.goudham.event; import me.goudham.domain.ClipboardContent; +/** + * Interface for notifying clipboard changes that happen to be {@link String} + */ public interface TextEvent extends ClipboardEvent { void onCopyText(ClipboardContent oldContent, String newContent); }