@@ -36,137 +36,141 @@ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
3636
3737public class Deflater extends ZStream {
3838
39- static final private int MAX_WBITS = 15 ; // 32K LZ77 window
40-
41- //static final private int DEF_WBITS=MAX_WBITS;
42-
43- // static final private int Z_NO_FLUSH=0;
44- // static final private int Z_PARTIAL_FLUSH=1;
45- // static final private int Z_SYNC_FLUSH=2;
46- // static final private int Z_FULL_FLUSH=3;
47- // static final private int Z_FINISH=4;
48- //
49- // static final private int MAX_MEM_LEVEL=9;
50-
51- //static final private int Z_OK = 0;
52- static final private int Z_STREAM_END = 1 ;
53- // static final private int Z_NEED_DICT=2;
54- // static final private int Z_ERRNO=-1;
55- static final private int Z_STREAM_ERROR = -2 ;
56- // static final private int Z_DATA_ERROR=-3;
57- // static final private int Z_MEM_ERROR=-4;
58- // static final private int Z_BUF_ERROR=-5;
59- // static final private int Z_VERSION_ERROR=-6;
60-
61- private boolean finished = false ;
62-
63- /*
64-
65- public Deflater(int level) {
66- this(level, 0, false);
67- }
68-
69- public Deflater(int level, boolean nowrap) {
70- this(level, 0, nowrap);
71- }
72-
73- public Deflater(int level, int bits) {
74- this(level, bits, false);
75- }
76- */
77-
78- /*
79- public Deflater(int level, int bits, int memlevel) {
80- super();
81- init3(level, bits, memlevel);
82- //if (ret != Z_OK)
83- //throw new GZIPException(ret + ": " + msg);
84- }
85- public int init(int level) {
86- return init2(level, MAX_WBITS);
87- }
88-
89- public int init2(int level, int bits) {
90- return init3b(level, bits, false);
91- }
92-
93-
94- public int init2b(int level, boolean nowrap) {
95- return init3b(level, MAX_WBITS, nowrap);
96- }
97-
98- public int init3(int level, int bits, int memlevel) {
99- finished = false;
100- dstate = new Deflate(this);
101- return dstate.deflateInit3(level, bits, memlevel);
102- }
103-
104-
105- */
106- public Deflater init (int level , int bits , boolean nowrap ) {
107- if (bits == 0 )
108- bits = MAX_WBITS ;
109- finished = false ;
110- setAdler32 ();
111- dstate = new Deflate (this );
112- dstate .deflateInit2 (level , nowrap ? -bits : bits );
113- return this ;
114- }
115-
116- @ Override
117- public int deflate (int flush ) {
118- if (dstate == null ) {
119- return Z_STREAM_ERROR ;
120- }
121- int ret = dstate .deflate (flush );
122- if (ret == Z_STREAM_END )
123- finished = true ;
124- return ret ;
125- }
126-
127- @ Override
128- public int end () {
129- finished = true ;
130- if (dstate == null )
131- return Z_STREAM_ERROR ;
132- int ret = dstate .deflateEnd ();
133- dstate = null ;
134- free ();
135- return ret ;
136- }
137-
138- public int params (int level , int strategy ) {
139- if (dstate == null )
140- return Z_STREAM_ERROR ;
141- return dstate .deflateParams (level , strategy );
142- }
143-
144- public int setDictionary (byte [] dictionary , int dictLength ) {
145- if (dstate == null )
146- return Z_STREAM_ERROR ;
147- return dstate .deflateSetDictionary (dictionary , dictLength );
148- }
149-
150- @ Override
151- public boolean finished () {
152- return finished ;
153- }
154-
155- public void finish () {
156- // native use only?
157-
158- }
159-
160- public long getBytesRead () {
161- return dstate .getBytesRead ();
162- }
163-
164- public long getBytesWritten () {
165- return dstate .getBytesWritten ();
166- }
167-
168- // public int copy(Deflater src){
169- // this.finished = src.finished;
170- // return Deflate.deflateCopy(this, src);
171- // }
39+ static final private int MAX_WBITS = 15 ; // 32K LZ77 window
40+
41+ // static final private int DEF_WBITS=MAX_WBITS;
42+
43+ // static final private int Z_NO_FLUSH=0;
44+ // static final private int Z_PARTIAL_FLUSH=1;
45+ // static final private int Z_SYNC_FLUSH=2;
46+ // static final private int Z_FULL_FLUSH=3;
47+ // static final private int Z_FINISH=4;
48+ //
49+ // static final private int MAX_MEM_LEVEL=9;
50+
51+ // static final private int Z_OK = 0;
52+ static final private int Z_STREAM_END = 1 ;
53+ // static final private int Z_NEED_DICT=2;
54+ // static final private int Z_ERRNO=-1;
55+ static final private int Z_STREAM_ERROR = -2 ;
56+ // static final private int Z_DATA_ERROR=-3;
57+ // static final private int Z_MEM_ERROR=-4;
58+ // static final private int Z_BUF_ERROR=-5;
59+ // static final private int Z_VERSION_ERROR=-6;
60+
61+ private boolean finished = false ;
62+
63+ /*
64+ *
65+ * public Deflater(int level) { this(level, 0, false); }
66+ *
67+ * public Deflater(int level, boolean nowrap) { this(level, 0, nowrap); }
68+ *
69+ * public Deflater(int level, int bits) { this(level, bits, false); }
70+ */
71+
72+ /*
73+ * public Deflater(int level, int bits, int memlevel) { super(); init3(level,
74+ * bits, memlevel); //if (ret != Z_OK) //throw new GZIPException(ret + ": " +
75+ * msg); } public int init(int level) { return init2(level, MAX_WBITS); }
76+ *
77+ * public int init2(int level, int bits) { return init3b(level, bits, false); }
78+ *
79+ *
80+ * public int init2b(int level, boolean nowrap) { return init3b(level,
81+ * MAX_WBITS, nowrap); }
82+ *
83+ * public int init3(int level, int bits, int memlevel) { finished = false;
84+ * dstate = new Deflate(this); return dstate.deflateInit3(level, bits,
85+ * memlevel); }
86+ *
87+ *
88+ */
89+ public Deflater init (int level , int bits , boolean nowrap ) {
90+ if (bits == 0 )
91+ bits = MAX_WBITS ;
92+ finished = false ;
93+ setAdler32 ();
94+ dstate = new Deflate (this );
95+ dstate .deflateInit2 (level , nowrap ? -bits : bits );
96+ return this ;
97+ }
98+
99+ public int deflate (byte [] buf , int off , int len , int flush ) {
100+ super .setOutput (buf , off , len );
101+ long thisLen = getBytesWritten ();
102+ deflate (flush );
103+ long newLen = getBytesWritten ();
104+ return (int ) (newLen - thisLen );
105+ }
106+
107+ @ Override
108+ public int deflate (int flush ) {
109+ if (dstate == null ) {
110+ return Z_STREAM_ERROR ;
111+ }
112+ int ret = dstate .deflate (flush );
113+ if (ret == Z_STREAM_END )
114+ finished = true ;
115+ return ret ;
116+ }
117+
118+ // public boolean needsInput() {
119+ // return avail_out == 0;
120+ // }
121+ //
122+ @ Override
123+ public void end () {
124+ finished = true ;
125+ if (dstate == null )
126+ return ;
127+ // return Z_STREAM_ERROR;
128+ int ret = dstate .deflateEnd ();
129+ dstate = null ;
130+ free ();
131+ // return ret;
132+ }
133+
134+ public int params (int level , int strategy ) {
135+ if (dstate == null )
136+ return Z_STREAM_ERROR ;
137+ return dstate .deflateParams (level , strategy );
138+ }
139+
140+ public int setDictionaryRet (byte [] dictionary , int off , int len ) {
141+ if (dstate == null )
142+ return Z_STREAM_ERROR ;
143+ return dstate .deflateSetDictionary (dictionary , off , len );
144+ }
145+
146+ @ Override
147+ public boolean finished () {
148+ return finished ;
149+ }
150+
151+ public void finish () {
152+ // native use only?
153+
154+ }
155+
156+ public long getBytesRead () {
157+ return dstate .getBytesRead ();
158+ }
159+
160+ public long getBytesWritten () {
161+ return dstate .getBytesWritten ();
162+ }
163+
164+ public void reset () {
165+ dstate .deflateReset ();
166+ }
167+
168+ public boolean needsInput () {
169+ return avail_in <= 0 ;
170+ }
171+
172+ // public int copy(Deflater src){
173+ // this.finished = src.finished;
174+ // return Deflate.deflateCopy(this, src);
175+ // }
172176}
0 commit comments