From 2cf90ad3e06f62df7acd5e6a40d2a251ebe5b45a Mon Sep 17 00:00:00 2001
From: Vojtech Moravec <vojtech.moravec.st@vsb.cz>
Date: Fri, 25 Sep 2020 09:09:05 +0200
Subject: [PATCH] Make CompressionOptions cloneable.

---
 .../compression/CompressionOptions.java       | 20 ++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/main/java/azgracompress/compression/CompressionOptions.java b/src/main/java/azgracompress/compression/CompressionOptions.java
index 407cb6e..a28afee 100644
--- a/src/main/java/azgracompress/compression/CompressionOptions.java
+++ b/src/main/java/azgracompress/compression/CompressionOptions.java
@@ -8,7 +8,7 @@ import azgracompress.io.InputData;
 /**
  * Options for the compressor/decompressor.
  */
-public class CompressionOptions {
+public class CompressionOptions implements Cloneable {
 
     public enum CodebookType {
         Individual,
@@ -73,6 +73,23 @@ public class CompressionOptions {
         codebookType = CodebookType.Global;
     }
 
+    @Override
+    protected Object clone() throws CloneNotSupportedException {
+        return super.clone();
+    }
+
+    /**
+     * Create clone of this object.
+     *
+     * @return Cloned object.
+     */
+    public CompressionOptions createClone() {
+        try {
+            return (CompressionOptions) clone();
+        } catch (final CloneNotSupportedException e) {
+            return null;
+        }
+    }
 
     public void setVerbose(final boolean verbose) {
         this.verbose = verbose;
@@ -151,4 +168,5 @@ public class CompressionOptions {
     public boolean isConsoleApplication() {
         return false;
     }
+
 }
-- 
GitLab