diff --git a/src/main/java/me/goudham/MacClipboardListener.java b/src/main/java/me/goudham/MacClipboard.java similarity index 97% rename from src/main/java/me/goudham/MacClipboardListener.java rename to src/main/java/me/goudham/MacClipboard.java index 2834f1e..b1a347d 100644 --- a/src/main/java/me/goudham/MacClipboardListener.java +++ b/src/main/java/me/goudham/MacClipboard.java @@ -20,14 +20,14 @@ import static me.goudham.Contents.IMAGE; import static me.goudham.Contents.TEXT; /** - * Clipboard Listener for the macOS operating system + * Clipboard for the macOS operating system */ -class MacClipboardListener extends ClipboardListener implements Runnable { +class MacClipboard extends SystemClipboard implements Runnable { ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); GenericClipboardContent[] genericClipboardContents; private boolean listening = false; - MacClipboardListener() { + MacClipboard() { super(); } @@ -184,7 +184,7 @@ class MacClipboardListener extends ClipboardListener implements Runnable { } /** - * Main entry point for {@link MacClipboardListener} + * Main entry point for {@link MacClipboard} *

Retrieves thread from {@link Executors#newSingleThreadScheduledExecutor()} and executes code on a fixed delay

*/ @Override diff --git a/src/main/java/me/goudham/MyClipboard.java b/src/main/java/me/goudham/MyClipboard.java index 3a31c7d..1f6bd4f 100644 --- a/src/main/java/me/goudham/MyClipboard.java +++ b/src/main/java/me/goudham/MyClipboard.java @@ -13,102 +13,102 @@ import org.jetbrains.annotations.NotNull; /** * Entry Class for User to interact with the System Clipboard *

- * The abstract class {@link ClipboardListener} is responsible for handling all operations + * The abstract class {@link SystemClipboard} is responsible for handling all operations */ public class MyClipboard { - private @NotNull ClipboardListener clipboardListener; + private @NotNull SystemClipboard systemClipboard; private static SystemUtils systemUtils = new SystemUtils(); /** * Creates an instance of {@link MyClipboard} * - * @param clipboardListener The underlying {@link ClipboardListener} + * @param systemClipboard The underlying {@link SystemClipboard} */ - private MyClipboard(@NotNull ClipboardListener clipboardListener) { - this.clipboardListener = clipboardListener; + private MyClipboard(@NotNull SystemClipboard systemClipboard) { + this.systemClipboard = systemClipboard; } /** - * Creates an instance of {@link MyClipboard} with an instance of {@link ClipboardListener} dependent on the OS - *

A {@link WindowsOrUnixClipboardListener} or {@link MacClipboardListener} can be created

+ * Creates an instance of {@link MyClipboard} with an instance of {@link SystemClipboard} dependent on the OS + *

A {@link WindowsOrUnixClipboard} or {@link MacClipboard} can be created

* * @return {@link MyClipboard} * @throws UnsupportedSystemException If {@link MyClipboard} detects an operating system which is not Mac or Windows/*Unix */ public static MyClipboard getSystemClipboard() throws UnsupportedSystemException { - ClipboardListener clipboardListener; + SystemClipboard systemClipboard; if (systemUtils.isMac()) { - clipboardListener = new MacClipboardListener(); + systemClipboard = new MacClipboard(); } else if (systemUtils.isWindows() || systemUtils.isUnix()) { - clipboardListener = new WindowsOrUnixClipboardListener(); + systemClipboard = new WindowsOrUnixClipboard(); } else { throw new UnsupportedSystemException("Your Operating System: '" + System.getProperty("os.name") + "' is not supported"); } - return new MyClipboard(clipboardListener); + return new MyClipboard(systemClipboard); } /** - * Allows the correct {@link ClipboardListener} to start listening for clipboard changes + * Allows the correct {@link SystemClipboard} to start listening for clipboard changes * - * @see WindowsOrUnixClipboardListener#startListening() - * @see MacClipboardListener#startListening() + * @see WindowsOrUnixClipboard#startListening() + * @see MacClipboard#startListening() */ public void startListening() { - clipboardListener.startListening(); + systemClipboard.startListening(); } /** - * Stops the correct {@link ClipboardListener} to stop listening for clipboard changes + * Stops the correct {@link SystemClipboard} to stop listening for clipboard changes * - * @see WindowsOrUnixClipboardListener#stopListening() - * @see MacClipboardListener#stopListening() + * @see WindowsOrUnixClipboard#stopListening() + * @see MacClipboard#stopListening() */ public void stopListening() { - clipboardListener.stopListening(); + systemClipboard.stopListening(); } /** * Insert the given {@link String} into the system clipboard *

- * Due to the underlying {@link MacClipboardListener#insert(String)} implementation, inserting + * Due to the underlying {@link MacClipboard#insert(String)} implementation, inserting * clipboard contents will always result in event notifications being sent * * @param stringContent The given {@link String} to insert - * @see WindowsOrUnixClipboardListener#insert(String) - * @see MacClipboardListener#insert(String) + * @see WindowsOrUnixClipboard#insert(String) + * @see MacClipboard#insert(String) */ public void insert(String stringContent) { - clipboardListener.insert(stringContent); + systemClipboard.insert(stringContent); } /** * Insert the given {@link Image} into the system clipboard *

- * Due to the underlying {@link MacClipboardListener#insert(Image)} implementation, inserting + * Due to the underlying {@link MacClipboard#insert(Image)} implementation, inserting * clipboard contents will always result in event notifications being sent * * @param imageContent The given {@link Image} to insert - * @see WindowsOrUnixClipboardListener#insert(Image) - * @see MacClipboardListener#insert(Image) + * @see WindowsOrUnixClipboard#insert(Image) + * @see MacClipboard#insert(Image) */ public void insert(Image imageContent) { - clipboardListener.insert(imageContent); + systemClipboard.insert(imageContent); } /** * Insert the given {@link List} of {@link File} into the system clipboard *

- * Due to the underlying {@link MacClipboardListener#insert(List)} implementation, inserting + * Due to the underlying {@link MacClipboard#insert(List)} implementation, inserting * clipboard contents will always result in event notifications being sent * * @param fileContent The given {@link List} of {@link File} to insert - * @see WindowsOrUnixClipboardListener#insert(List) - * @see MacClipboardListener#insert(List) + * @see WindowsOrUnixClipboard#insert(List) + * @see MacClipboard#insert(List) */ public void insert(List fileContent) { - clipboardListener.insert(fileContent); + systemClipboard.insert(fileContent); } /** @@ -116,11 +116,11 @@ public class MyClipboard { * 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) + * @see WindowsOrUnixClipboard#insertAndNotify(String) + * @see MacClipboard#insertAndNotify(String) */ public void insertAndNotify(String stringContent) { - clipboardListener.insertAndNotify(stringContent); + systemClipboard.insertAndNotify(stringContent); } /** @@ -128,11 +128,11 @@ public class MyClipboard { * 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) + * @see WindowsOrUnixClipboard#insertAndNotify(Image) + * @see MacClipboard#insertAndNotify(Image) */ public void insertAndNotify(Image imageContent) { - clipboardListener.insertAndNotify(imageContent); + systemClipboard.insertAndNotify(imageContent); } /** @@ -140,140 +140,140 @@ public class MyClipboard { * 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) + * @see WindowsOrUnixClipboard#insertAndNotify(List) + * @see MacClipboard#insertAndNotify(List) */ public void insertAndNotify(List fileContent) { - clipboardListener.insertAndNotify(fileContent); + systemClipboard.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() + * @see SystemClipboard#getContents() */ public ClipboardContent getContents() { - return clipboardListener.getContents(); + return systemClipboard.getContents(); } /** - * Adds a {@link TextEvent} to the underlying {@link ClipboardListener} + * Adds a {@link TextEvent} to the underlying {@link SystemClipboard} * * @param textEvent The {@link TextEvent} to be added * @see EventManager#addEventListener(TextEvent) */ public void addEventListener(TextEvent textEvent) { - clipboardListener.getEventManager().addEventListener(textEvent); + systemClipboard.getEventManager().addEventListener(textEvent); } /** - * Adds a {@link ImageEvent} to the underlying {@link ClipboardListener} + * Adds a {@link ImageEvent} to the underlying {@link SystemClipboard} * * @param imageEvent The {@link ImageEvent} to be added * @see EventManager#addEventListener(ImageEvent) */ public void addEventListener(ImageEvent imageEvent) { - clipboardListener.getEventManager().addEventListener(imageEvent); + systemClipboard.getEventManager().addEventListener(imageEvent); } /** - * Adds a {@link FileEvent} to the underlying {@link ClipboardListener} + * Adds a {@link FileEvent} to the underlying {@link SystemClipboard} * * @param fileEvent The {@link FileEvent} to be added * @see EventManager#addEventListener(FileEvent) */ public void addEventListener(FileEvent fileEvent) { - clipboardListener.getEventManager().addEventListener(fileEvent); + systemClipboard.getEventManager().addEventListener(fileEvent); } /** - * Removes a {@link TextEvent} from the underlying {@link ClipboardListener} + * Removes a {@link TextEvent} from the underlying {@link SystemClipboard} * * @param textEvent The {@link TextEvent} to be removed * @see EventManager#removeEventListener(TextEvent) */ public void removeEventListener(TextEvent textEvent) { - clipboardListener.getEventManager().removeEventListener(textEvent); + systemClipboard.getEventManager().removeEventListener(textEvent); } /** - * Removes a {@link ImageEvent} from the underlying {@link ClipboardListener} + * Removes a {@link ImageEvent} from the underlying {@link SystemClipboard} * * @param imageEvent The {@link ImageEvent} to be removed * @see EventManager#removeEventListener(ImageEvent) */ public void removeEventListener(ImageEvent imageEvent) { - clipboardListener.getEventManager().removeEventListener(imageEvent); + systemClipboard.getEventManager().removeEventListener(imageEvent); } /** - * Removes a {@link FileEvent} from the underlying {@link ClipboardListener} + * Removes a {@link FileEvent} from the underlying {@link SystemClipboard} * * @param fileEvent The {@link FileEvent} to be removed * @see EventManager#removeEventListener(FileEvent) */ public void removeEventListener(FileEvent fileEvent) { - clipboardListener.getEventManager().removeEventListener(fileEvent); + systemClipboard.getEventManager().removeEventListener(fileEvent); } /** * Toggles the current value of text monitoring, the default value is set to {@code True} * - * @see ClipboardListener#toggleTextMonitored() + * @see SystemClipboard#toggleTextMonitored() */ public void toggleTextMonitored() { - clipboardListener.toggleTextMonitored(); + systemClipboard.toggleTextMonitored(); } /** * Toggles the current value of image monitoring, the default value is set to {@code True} * - * @see ClipboardListener#toggleImageMonitored() + * @see SystemClipboard#toggleImageMonitored() */ public void toggleImagesMonitored() { - clipboardListener.toggleImageMonitored(); + systemClipboard.toggleImageMonitored(); } /** * Toggles the current value of file monitoring, the default value is set to {@code True} * - * @see ClipboardListener#toggleFileMonitored() + * @see SystemClipboard#toggleFileMonitored() */ public void toggleFilesMonitored() { - clipboardListener.toggleFileMonitored(); + systemClipboard.toggleFileMonitored(); } public boolean isImageMonitored() { - return clipboardListener.isImageMonitored(); + return systemClipboard.isImageMonitored(); } public void setImageMonitored(boolean imagesMonitored) { - clipboardListener.setImageMonitored(imagesMonitored); + systemClipboard.setImageMonitored(imagesMonitored); } public boolean isTextMonitored() { - return clipboardListener.isTextMonitored(); + return systemClipboard.isTextMonitored(); } public void setTextMonitored(boolean textMonitored) { - clipboardListener.setTextMonitored(textMonitored); + systemClipboard.setTextMonitored(textMonitored); } public boolean isFileMonitored() { - return clipboardListener.isFileMonitored(); + return systemClipboard.isFileMonitored(); } public void setFileMonitored(boolean fileMonitored) { - clipboardListener.setFileMonitored(fileMonitored); + systemClipboard.setFileMonitored(fileMonitored); } - public @NotNull ClipboardListener getClipboardListener() { - return clipboardListener; + public @NotNull SystemClipboard getClipboardListener() { + return systemClipboard; } - public void setClipboardListener(@NotNull ClipboardListener clipboardListener) { - this.clipboardListener = clipboardListener; + public void setClipboardListener(@NotNull SystemClipboard systemClipboard) { + this.systemClipboard = systemClipboard; } static SystemUtils getSystemUtils() { diff --git a/src/main/java/me/goudham/ClipboardListener.java b/src/main/java/me/goudham/SystemClipboard.java similarity index 77% rename from src/main/java/me/goudham/ClipboardListener.java rename to src/main/java/me/goudham/SystemClipboard.java index ee10f6d..be3204c 100644 --- a/src/main/java/me/goudham/ClipboardListener.java +++ b/src/main/java/me/goudham/SystemClipboard.java @@ -11,10 +11,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Abstract class containing common operations between {@link WindowsOrUnixClipboardListener} and - * {@link MacClipboardListener} + * Abstract class containing common operations between {@link WindowsOrUnixClipboard} and + * {@link MacClipboard} */ -abstract class ClipboardListener { +abstract class SystemClipboard { Clipboard clipboard; Logger logger; EventManager eventManager; @@ -23,7 +23,7 @@ abstract class ClipboardListener { private boolean textMonitored = true; private boolean fileMonitored = true; - ClipboardListener() { + SystemClipboard() { clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); logger = LoggerFactory.getLogger(getClass()); eventManager = new EventManager(); @@ -31,26 +31,26 @@ abstract class ClipboardListener { } /** - * Main entry point of execution for the correct {@link ClipboardListener} + * Main entry point of execution for the correct {@link SystemClipboard} * - * @see WindowsOrUnixClipboardListener#execute() - * @see MacClipboardListener#execute() + * @see WindowsOrUnixClipboard#execute() + * @see MacClipboard#execute() */ abstract void execute(); /** - * Allows the correct {@link ClipboardListener} to start listening for clipboard changes + * Allows the correct {@link SystemClipboard} to start listening for clipboard changes * - * @see WindowsOrUnixClipboardListener#startListening() - * @see MacClipboardListener#startListening() + * @see WindowsOrUnixClipboard#startListening() + * @see MacClipboard#startListening() */ abstract void startListening(); /** - * Stops the correct {@link ClipboardListener} to stop listening for clipboard changes + * Stops the correct {@link SystemClipboard} to stop listening for clipboard changes * - * @see WindowsOrUnixClipboardListener#stopListening() - * @see MacClipboardListener#stopListening() + * @see WindowsOrUnixClipboard#stopListening() + * @see MacClipboard#stopListening() */ abstract void stopListening(); @@ -58,8 +58,8 @@ abstract class ClipboardListener { * Insert the given {@link String} into the system clipboard * * @param stringContent The given {@link String} to insert - * @see WindowsOrUnixClipboardListener#insert(String) - * @see MacClipboardListener#insert(String) + * @see WindowsOrUnixClipboard#insert(String) + * @see MacClipboard#insert(String) */ abstract void insert(String stringContent); @@ -67,8 +67,8 @@ abstract class ClipboardListener { * 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) + * @see WindowsOrUnixClipboard#insert(Image) + * @see MacClipboard#insert(Image) */ abstract void insert(Image imageContent); @@ -76,8 +76,8 @@ abstract class ClipboardListener { * 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) + * @see WindowsOrUnixClipboard#insert(List) + * @see MacClipboard#insert(List) */ abstract void insert(List fileContent); @@ -86,8 +86,8 @@ abstract class ClipboardListener { * 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) + * @see WindowsOrUnixClipboard#insertAndNotify(String) + * @see MacClipboard#insertAndNotify(String) */ abstract void insertAndNotify(String stringContent); @@ -96,8 +96,8 @@ abstract class ClipboardListener { * 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) + * @see WindowsOrUnixClipboard#insertAndNotify(Image) + * @see MacClipboard#insertAndNotify(Image) */ abstract void insertAndNotify(Image imageContent); @@ -106,8 +106,8 @@ abstract class ClipboardListener { * 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) + * @see WindowsOrUnixClipboard#insertAndNotify(List) + * @see MacClipboard#insertAndNotify(List) */ abstract void insertAndNotify(List fileContent); diff --git a/src/main/java/me/goudham/WindowsOrUnixClipboardListener.java b/src/main/java/me/goudham/WindowsOrUnixClipboard.java similarity index 95% rename from src/main/java/me/goudham/WindowsOrUnixClipboardListener.java rename to src/main/java/me/goudham/WindowsOrUnixClipboard.java index 4884d21..29c35e1 100644 --- a/src/main/java/me/goudham/WindowsOrUnixClipboardListener.java +++ b/src/main/java/me/goudham/WindowsOrUnixClipboard.java @@ -20,13 +20,13 @@ import static me.goudham.Contents.IMAGE; import static me.goudham.Contents.TEXT; /** - * Clipboard Listener for Windows and Unix operating systems + * Clipboard for Windows and Unix operating systems */ -class WindowsOrUnixClipboardListener extends ClipboardListener implements Runnable, ClipboardOwner { +class WindowsOrUnixClipboard extends SystemClipboard implements Runnable, ClipboardOwner { private ExecutorService executorService = Executors.newSingleThreadExecutor(); private boolean listening = false; - WindowsOrUnixClipboardListener() { + WindowsOrUnixClipboard() { super(); } @@ -167,7 +167,7 @@ class WindowsOrUnixClipboardListener extends ClipboardListener implements Runnab } /** - * Entry point for {@link WindowsOrUnixClipboardListener} + * Entry point for {@link WindowsOrUnixClipboard} *

Retrieves a thread from {@link Executors#newSingleThreadExecutor()} and executes code in the background

*/ @Override