-/* $RCSfile$
- * $Author$
- * $Date$
- * $Revision$
- *
- * Copyright (C) 2006 The Jmol Development Team
- *
- * Contact: jmol-developers@lists.sf.net
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-package javajs.util;
-
-import java.io.BufferedInputStream;
-
-import javajs.api.GenericZipTools;
-
-
-
-
-public class ZipData {
- boolean isEnabled = true;
- byte[] buf;
- int pt;
- int nBytes;
-
- public ZipData(int nBytes) {
- this.nBytes = nBytes;
- }
-
- public int addBytes(byte[] byteBuf, int nSectorBytes, int nBytesRemaining) {
- if (pt == 0) {
- if (!Rdr.isGzipB(byteBuf)) {
- isEnabled = false;
- return -1;
- }
- buf = new byte[nBytesRemaining];
- }
- int nToAdd = Math.min(nSectorBytes, nBytesRemaining);
- System.arraycopy(byteBuf, 0, buf, pt, nToAdd);
- pt += nToAdd;
- return nBytesRemaining - nToAdd;
- }
-
- public void addTo(GenericZipTools jzt, SB data) {
- data.append(getGzippedBytesAsString(jzt, buf));
- }
-
- static String getGzippedBytesAsString(GenericZipTools jzt, byte[] bytes) {
- try {
- BufferedInputStream bis = jzt.getUnGzippedInputStream(bytes);
- String s = ZipTools.getStreamAsString(bis);
- bis.close();
- return s;
- } catch (Exception e) {
- return "";
- }
- }
-
-
-}
-