    1   /* $Id: ArchiveFileConstants.java 4620 2006-09-12 19:41:23Z stack-sf $
    2    *
    3    * Created on August 16th, 2006.
    4    *
    5    * Copyright (C) 2006 Internet Archive.
    6    *
    7    * This file is part of the Heritrix web crawler (crawler.archive.org).
    8    *
    9    * Heritrix is free software; you can redistribute it and/or modify
    10   * it under the terms of the GNU Lesser Public License as published by
    11   * the Free Software Foundation; either version 2.1 of the License, or
    12   * any later version.
    13   *
    14   * Heritrix is distributed in the hope that it will be useful,
    15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
    16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    17   * GNU Lesser Public License for more details.
    18   *
    19   * You should have received a copy of the GNU Lesser Public License
    20   * along with Heritrix; if not, write to the Free Software
    21   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    22   */
    23  package org.archive.io;
    24
    25  /***
    26   * Constants used by Archive files and in Archive file processing.
    27   * @author stack
    28   * @version $Date: 2006-09-12 19:41:23 +0000 (Tue, 12 Sep 2006) $ $Revision: 4620 $
    29   */
    30  public interface ArchiveFileConstants {
    31      /***
    32       * Suffix given to files currently in use.
    33       */
    34      public static final String OCCUPIED_SUFFIX = ".open";
    35
    36      /***
    37       * Suffix appended to 'broken' files.
    38       */
    39      public static final String INVALID_SUFFIX = ".invalid";
    40
    41      /***
    42       * Compressed file extention.
    43       */
    44      public static final String COMPRESSED_FILE_EXTENSION = "gz";
    45
    46      /***
    47       * Dot plus compressed file extention.
    48       */
    49      public static final String DOT_COMPRESSED_FILE_EXTENSION = "." +
    50          COMPRESSED_FILE_EXTENSION;
    51
    52      /***
    53       * Key for the Archive File version field.
    54       */
    55      public static final String VERSION_FIELD_KEY = "version";
    56
    57      /***
    58       * Key for the Archive File length field.
    59       */
    60      public static final String LENGTH_FIELD_KEY = "length";
    61
    62      /***
    63       * Key for the Archive File type field.
    64       */
    65      public static final String TYPE_FIELD_KEY = "type";
    66
    67      /***
    68       * Key for the Archive File URL field.
    69       */
    70      public static final String URL_FIELD_KEY = "subject-uri";
    71
    72      /***
    73       * Key for the Archive File Creation Date field.
    74       */
    75      public static final String DATE_FIELD_KEY = "creation-date";
    76
    77      /***
    78       * Key for the Archive File mimetype field.
    79       */
    80      public static final String MIMETYPE_FIELD_KEY = "content-type";
    81
    82      /***
    83       * Key for the Archive File record field.
    84       */
    85      public static final String RECORD_IDENTIFIER_FIELD_KEY =
    86      	"record-identifier";
    87
    88      /***
    89       * Key for the Archive Record absolute offset into Archive file.
    90       */
    91      public static final String ABSOLUTE_OFFSET_KEY = "absolute-offset";
    92
    93      public static final String READER_IDENTIFIER_FIELD_KEY =
    94      	"reader-identifier";
    95
    96      /***
    97       * Size used to preallocate stringbuffer used outputting a cdx line.
    98       * The numbers below are guesses at sizes of each of the cdx fields.
    99       * The ones in the below are spaces. Here is the legend used outputting
    100      * the cdx line: CDX b e a m s c V n g.  Consult cdx documentation on
    101      * meaning of each of these fields.
    102      */
    103     public static final int CDX_LINE_BUFFER_SIZE = 14 + 1 + 15 + 1 + 1024 +
    104         1 + 24 + 1 + + 3 + 1 + 32 + 1 + 20 + 1 + 20 + 1 + 64;
    105
    106     public static final String DEFAULT_DIGEST_METHOD = "SHA-1";
    107
    108     public static final char SINGLE_SPACE = ' ';
    109
    110     public static final String CRLF = "\r\n";
    111
    112     public static final String CDX = "cdx";
    113     public static final String DUMP = "dump";
    114     public static final String GZIP_DUMP = "gzipdump";
    115     public static final String HEADER = "header";
    116     public static final String NOHEAD = "nohead";
    117     public static final String CDX_FILE = "cdxfile";
    118 }