• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * DeltaDecoder
3  *
4  * Author: Lasse Collin <lasse.collin@tukaani.org>
5  *
6  * This file has been put into the public domain.
7  * You can do whatever you want with this file.
8  */
9 
10 package org.tukaani.xz;
11 
12 import java.io.InputStream;
13 
14 class DeltaDecoder extends DeltaCoder implements FilterDecoder {
15     private final int distance;
16 
DeltaDecoder(byte[] props)17     DeltaDecoder(byte[] props) throws UnsupportedOptionsException {
18         if (props.length != 1)
19             throw new UnsupportedOptionsException(
20                     "Unsupported Delta filter properties");
21 
22         distance = (props[0] & 0xFF) + 1;
23     }
24 
getMemoryUsage()25     public int getMemoryUsage() {
26         return 1;
27     }
28 
getInputStream(InputStream in, ArrayCache arrayCache)29     public InputStream getInputStream(InputStream in, ArrayCache arrayCache) {
30         return new DeltaInputStream(in, distance);
31     }
32 }
33