KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > archive > util > ms > BlockFileSystem


1 /* BlockFileSystem
2 *
3 * Created on September 12, 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.util.ms;
24
25 import java.io.IOException JavaDoc;
26
27 import org.archive.io.SeekInputStream;
28
29
30 /**
31  * Describes the internal file system contained in .doc files.
32  */

33 public interface BlockFileSystem {
34
35     
36     /**
37      * The size of a block in bytes.
38      */

39     int BLOCK_SIZE = 512;
40
41
42     /**
43      * Returns the root entry of the file system. Subfiles and directories
44      * can be found by searching the returned entry.
45      *
46      * @return the root entry
47      * @throws IOException if an IO error occurs
48      */

49     public abstract Entry getRoot() throws IOException JavaDoc;
50
51     
52     /**
53      * Returns the number of the block that follows the given block.
54      * The internal block allocation tables are consulted to determine the
55      * next block. A return value that is less than zero indicates that
56      * there is no next block.
57      *
58      * @param block the number of block whose successor to return
59      * @return the successor of that block
60      * @throws IOException if an IO error occurs
61      */

62     public abstract int getNextBlock(int block) throws IOException JavaDoc;
63
64
65     /**
66      * Returns the raw input stream for this file system.
67      * Typically this will be the random access file containing the .doc.
68      *
69      * @return the raw input stream for this file system
70      */

71     public abstract SeekInputStream getRawInput();
72
73 }
Popular Tags