1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 */ 18 package org.apache.commons.compress.archivers.sevenz; 19 20 import java.util.BitSet; 21 22 class Archive { 23 /// Offset from beginning of file + SIGNATURE_HEADER_SIZE to packed streams. 24 long packPos; 25 /// Size of each packed stream. 26 long[] packSizes; 27 /// Whether each particular packed streams has a CRC. 28 BitSet packCrcsDefined; 29 /// CRCs for each packed stream, valid only if that packed stream has one. 30 long[] packCrcs; 31 /// Properties of solid compression blocks. 32 Folder[] folders; 33 /// Temporary properties for non-empty files (subsumed into the files array later). 34 SubStreamsInfo subStreamsInfo; 35 /// The files and directories in the archive. 36 SevenZArchiveEntry[] files; 37 /// Mapping between folders, files and streams. 38 StreamMap streamMap; 39 40 @Override toString()41 public String toString() { 42 return "Archive with packed streams starting at offset " + packPos 43 + ", " + lengthOf(packSizes) + " pack sizes, " + lengthOf(packCrcs) 44 + " CRCs, " + lengthOf(folders) + " folders, " + lengthOf(files) 45 + " files and " + streamMap; 46 } 47 lengthOf(final long[] a)48 private static String lengthOf(final long[] a) { 49 return a == null ? "(null)" : String.valueOf(a.length); 50 } 51 lengthOf(final Object[] a)52 private static String lengthOf(final Object[] a) { 53 return a == null ? "(null)" : String.valueOf(a.length); 54 } 55 } 56