diff --git a/src/main/java/me/goudham/ClipboardListener.java b/src/main/java/me/goudham/ClipboardListener.java index 7a987b6..ee10f6d 100644 --- a/src/main/java/me/goudham/ClipboardListener.java +++ b/src/main/java/me/goudham/ClipboardListener.java @@ -3,8 +3,10 @@ package me.goudham; import java.awt.Image; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.Transferable; import java.io.File; import java.util.List; +import me.goudham.domain.ClipboardContent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -109,6 +111,16 @@ abstract class ClipboardListener { */ abstract void insertAndNotify(List fileContent); + /** + * Returns the current clipboard contents, {@code null} if clipboard has no contents + * + * @return {@link ClipboardContent} containing either {@code String}, {@code BufferedImage} or {@code List} + */ + ClipboardContent getContents() { + Transferable clipboardContents = clipboard.getContents(null); + return clipboardContents == null ? null : clipboardUtils.getOldClipboardContent(clipboardContents); + } + /** * Toggles the current value of text monitoring, the default value is set to {@code True} */ diff --git a/src/main/java/me/goudham/MyClipboard.java b/src/main/java/me/goudham/MyClipboard.java index 6127d80..3a31c7d 100644 --- a/src/main/java/me/goudham/MyClipboard.java +++ b/src/main/java/me/goudham/MyClipboard.java @@ -3,6 +3,7 @@ package me.goudham; import java.awt.Image; import java.io.File; import java.util.List; +import me.goudham.domain.ClipboardContent; import me.goudham.event.FileEvent; import me.goudham.event.ImageEvent; import me.goudham.event.TextEvent; @@ -146,6 +147,16 @@ public class MyClipboard { clipboardListener.insertAndNotify(fileContent); } + /** + * Returns the current clipboard contents, {@code null} if clipboard has no contents + * + * @return {@link ClipboardContent} containing either {@code String}, {@code BufferedImage} or {@code List} + * @see ClipboardListener#getContents() + */ + public ClipboardContent getContents() { + return clipboardListener.getContents(); + } + /** * Adds a {@link TextEvent} to the underlying {@link ClipboardListener} *