diff options
Diffstat (limited to 'src/org/tukaani/xz/DeltaEncoder.java')
-rw-r--r-- | src/org/tukaani/xz/DeltaEncoder.java | 37 |
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); + } +} |