|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.InputStream org.archive.io.ArchiveRecord
public abstract class ArchiveRecord
Archive file Record.
Field Summary | |
---|---|
protected java.security.MessageDigest |
digest
Compute digest on what we read and add to metadata when done. |
(package private) boolean |
eor
Set flag when we've reached the end-of-record. |
(package private) ArchiveRecordHeader |
header
|
(package private) java.io.InputStream |
in
Stream to read this record from. |
(package private) long |
position
Position w/i the Record content, within in . |
(package private) boolean |
strict
|
Constructor Summary | |
---|---|
ArchiveRecord(java.io.InputStream in)
Constructor. |
|
ArchiveRecord(java.io.InputStream in,
ArchiveRecordHeader header)
Constructor. |
|
ArchiveRecord(java.io.InputStream in,
ArchiveRecordHeader header,
int bodyOffset,
boolean digest,
boolean strict)
Constructor. |
Method Summary | |
---|---|
int |
available()
This available is not the stream's available. |
void |
close()
Calling close on a record skips us past this record to the next record in the stream. |
void |
dump()
Writes output on STDOUT. |
void |
dump(java.io.OutputStream os)
Writes output on passed os . |
protected java.lang.String |
getDigest4Cdx(ArchiveRecordHeader h)
|
java.lang.String |
getDigestStr()
|
ArchiveRecordHeader |
getHeader()
|
protected java.io.InputStream |
getIn()
|
protected java.lang.String |
getIp4Cdx(ArchiveRecordHeader h)
|
protected java.lang.String |
getMimetype4Cdx(ArchiveRecordHeader h)
|
protected long |
getPosition()
|
protected java.lang.String |
getStatusCode4Cdx(ArchiveRecordHeader h)
|
protected void |
incrementPosition()
|
protected void |
incrementPosition(long incr)
|
protected boolean |
isEor()
|
boolean |
isStrict()
|
boolean |
markSupported()
|
protected java.lang.String |
outputCdx(java.lang.String strippedFileName)
|
int |
read()
|
int |
read(byte[] b,
int offset,
int length)
|
protected void |
setEor(boolean eor)
|
protected void |
setHeader(ArchiveRecordHeader header)
|
void |
setStrict(boolean strict)
|
(package private) void |
skip()
Skip over this records content. |
long |
skip(long n)
|
Methods inherited from class java.io.InputStream |
---|
mark, read, reset |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
ArchiveRecordHeader header
java.io.InputStream in
Streams can be markable or not. If they are, we'll be able to roll
back when we've read too far. If not markable, assumption is that
the underlying stream is managing our not reading too much (This pertains
to the skipping over the end of the ARCRecord. See skip()
.
long position
in
.
This position is relative within this Record. Its not same as the
Archive file position.
boolean eor
protected java.security.MessageDigest digest
Protected instead of private so subclasses can update and complete the digest.
boolean strict
Constructor Detail |
---|
public ArchiveRecord(java.io.InputStream in) throws java.io.IOException
in
- Stream cue'd up to be at the start of the record this instance
is to represent.
java.io.IOException
public ArchiveRecord(java.io.InputStream in, ArchiveRecordHeader header) throws java.io.IOException
in
- Stream cue'd up to be at the start of the record this instance
is to represent.header
- Header data.
java.io.IOException
public ArchiveRecord(java.io.InputStream in, ArchiveRecordHeader header, int bodyOffset, boolean digest, boolean strict) throws java.io.IOException
in
- Stream cue'd up to be at the start of the record this instance
is to represent.header
- Header data.bodyOffset
- Offset into the body. Usually 0.digest
- True if we're to calculate digest for this record. Not
digesting saves about ~15% of cpu during an ARC parse.strict
- Be strict parsing (Parsing stops if ARC inproperly
formatted).
java.io.IOException
Method Detail |
---|
public boolean markSupported()
markSupported
in class java.io.InputStream
public ArchiveRecordHeader getHeader()
protected void setHeader(ArchiveRecordHeader header)
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in class java.io.InputStream
java.io.IOException
public int read() throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public int read(byte[] b, int offset, int length) throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public int available()
available
in class java.io.InputStream
void skip() throws java.io.IOException
java.io.IOException
public long skip(long n) throws java.io.IOException
skip
in class java.io.InputStream
java.io.IOException
public boolean isStrict()
public void setStrict(boolean strict)
strict
- The strict to set.protected java.io.InputStream getIn()
public java.lang.String getDigestStr()
protected void incrementPosition()
protected void incrementPosition(long incr)
protected long getPosition()
protected boolean isEor()
protected void setEor(boolean eor)
protected java.lang.String getStatusCode4Cdx(ArchiveRecordHeader h)
protected java.lang.String getIp4Cdx(ArchiveRecordHeader h)
protected java.lang.String getDigest4Cdx(ArchiveRecordHeader h)
protected java.lang.String getMimetype4Cdx(ArchiveRecordHeader h)
protected java.lang.String outputCdx(java.lang.String strippedFileName) throws java.io.IOException
java.io.IOException
public void dump() throws java.io.IOException
java.io.IOException
public void dump(java.io.OutputStream os) throws java.io.IOException
os
.
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |