Class CAFS
java.lang.Object
aQute.libg.cafs.CAFS
- All Implemented Interfaces:
Closeable, AutoCloseable, Iterable<SHA1>
CAFS implements a SHA-1 based file store. The basic idea is that every file
in the universe has a unique SHA-1. Hard to believe but people smarter than
me have come to that conclusion. This class maintains a compressed store of
SHA-1 identified files. So if you have the SHA-1, you can get the contents.
This makes it easy to store a SHA-1 instead of the whole file or maintain a
naming scheme. An added advantage is that it is always easy to verify you get
the right stuff. The SHA-1 Content Addressable File Store is the core
underlying idea in Git.
-
Constructor Details
-
CAFS
-
-
Method Details
-
write
Store an input stream in the CAFS while calculating and returning the SHA-1 code.- Parameters:
in- The input stream to store.- Returns:
- The SHA-1 code.
- Throws:
Exception- if anything goes wrong
-
read
Read the contents of a sha 1 key.- Parameters:
sha1- The key- Returns:
- An Input Stream on the content or null of key not found
- Throws:
Exception
-
exists
-
reindex
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
iterator
-
isEmpty
- Throws:
IOException
-