aboutsummaryrefslogtreecommitdiff
path: root/src/org/tukaani/xz/DeltaEncoder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/tukaani/xz/DeltaEncoder.java')
-rw-r--r--src/org/tukaani/xz/DeltaEncoder.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/org/tukaani/xz/DeltaEncoder.java b/src/org/tukaani/xz/DeltaEncoder.java
new file mode 100644
index 0000000..86ba9ea
--- /dev/null
+++ b/src/org/tukaani/xz/DeltaEncoder.java
@@ -0,0 +1,37 @@
+/*
+ * DeltaEncoder
+ *
+ * Author: Lasse Collin <lasse.collin@tukaani.org>
+ *
+ * This file has been put into the public domain.
+ * You can do whatever you want with this file.
+ */
+
+package org.tukaani.xz;
+
+class DeltaEncoder extends DeltaCoder implements FilterEncoder {
+ private final DeltaOptions options;
+ private final byte[] props = new byte[1];
+
+ DeltaEncoder(DeltaOptions options) {
+ props[0] = (byte)(options.getDistance() - 1);
+ this.options = (DeltaOptions)options.clone();
+ }
+
+ public long getFilterID() {
+ return FILTER_ID;
+ }
+
+ public byte[] getFilterProps() {
+ return props;
+ }
+
+ public boolean supportsFlushing() {
+ return true;
+ }
+
+ public FinishableOutputStream getOutputStream(FinishableOutputStream out,
+ ArrayCache arrayCache) {
+ return options.getOutputStream(out, arrayCache);
+ }
+}