1 26 package org.archive.io.arc; 27 28 import java.util.Arrays ; 29 import java.util.List ; 30 import java.util.zip.Deflater ; 31 import java.util.zip.GZIPInputStream ; 32 33 import org.archive.io.ArchiveFileConstants; 34 import org.archive.io.GzipHeader; 35 36 41 public interface ARCConstants extends ArchiveFileConstants { 42 45 public static final int DEFAULT_MAX_ARC_FILE_SIZE = 100000000; 46 47 50 public static final int MAX_METADATA_LINE_LENGTH = (4 * 1024); 51 52 55 public static final String ARC_FILE_EXTENSION = "arc"; 56 57 60 public static final String DOT_ARC_FILE_EXTENSION = 61 "." + ARC_FILE_EXTENSION; 62 63 public static final String DOT_COMPRESSED_FILE_EXTENSION = 64 ArchiveFileConstants.DOT_COMPRESSED_FILE_EXTENSION; 65 66 69 public static final String COMPRESSED_ARC_FILE_EXTENSION = 70 ARC_FILE_EXTENSION + DOT_COMPRESSED_FILE_EXTENSION; 71 72 75 public static final String DOT_COMPRESSED_ARC_FILE_EXTENSION = 76 DOT_ARC_FILE_EXTENSION + DOT_COMPRESSED_FILE_EXTENSION; 77 78 84 public static final String DEFAULT_ENCODING = "ISO-8859-1"; 85 86 91 public static final char LINE_SEPARATOR = '\n'; 92 93 96 public static final char HEADER_FIELD_SEPARATOR = ' '; 97 98 103 public static final String ARC_MAGIC_NUMBER = "filedesc://"; 104 105 109 public static final byte[] ARC_GZIP_EXTRA_FIELD = { 8, 0, 'L', 'X', 4, 0, 110 0, 0, 0, 0 }; 111 112 117 public static final String IP_HEADER_FIELD_KEY = "ip-address"; 118 119 124 public static final String CODE_HEADER_FIELD_KEY = "result-code"; 125 126 131 public static final String CHECKSUM_HEADER_FIELD_KEY = "checksum"; 132 133 138 public static final String LOCATION_HEADER_FIELD_KEY = "location"; 139 140 145 public static final String OFFSET_HEADER_FIELD_KEY = "offset"; 146 147 152 public static final String FILENAME_HEADER_FIELD_KEY = "filename"; 153 154 157 public static final String STATUSCODE_FIELD_KEY = "statuscode"; 158 159 162 public static final String OFFSET_FIELD_KEY = OFFSET_HEADER_FIELD_KEY; 163 164 167 public static final String FILENAME_FIELD_KEY = FILENAME_HEADER_FIELD_KEY; 168 169 172 public static final String CHECKSUM_FIELD_KEY = CHECKSUM_HEADER_FIELD_KEY; 173 174 180 public static final String TOKENIZED_PREFIX = "tokenized_"; 181 182 183 186 public static List REQUIRED_VERSION_1_HEADER_FIELDS = Arrays 187 .asList(new String [] { URL_FIELD_KEY, IP_HEADER_FIELD_KEY, 188 DATE_FIELD_KEY, MIMETYPE_FIELD_KEY, 189 LENGTH_FIELD_KEY, VERSION_FIELD_KEY, 190 ABSOLUTE_OFFSET_KEY }); 191 192 197 public static int MINIMUM_RECORD_LENGTH = 1 + "://".length() + 1 198 + ARC_FILE_EXTENSION.length() + " ".length() + +1 + " ".length() 199 + 1 + " ".length() + 1 + "/".length() + 1 + " ".length() + 1; 200 201 204 public static final byte[] GZIP_HEADER_BEGIN = { 205 (byte) GZIPInputStream.GZIP_MAGIC, (byte) (GZIPInputStream.GZIP_MAGIC >> 8), Deflater.DEFLATED }; 209 210 215 public static final int DEFAULT_GZIP_HEADER_LENGTH = 216 GzipHeader.MINIMAL_GZIP_HEADER_LENGTH; 217 } 218 | Popular Tags |