Package org.eclipse.cbi.common.util
Class ZipPosixPermissionFixer.ZipReader
- java.lang.Object
-
- org.eclipse.cbi.common.util.ZipPosixPermissionFixer.ZipReader
-
- Enclosing class:
- ZipPosixPermissionFixer
static final class ZipPosixPermissionFixer.ZipReader extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private SeekableByteChannelRecordReader
reader
private java.util.Map<Record,java.lang.Long>
recordPositions
private long
zipSize
-
Constructor Summary
Constructors Constructor Description ZipReader(SeekableByteChannelRecordReader reader, long zipSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private Record
createRecord(java.lang.Class<? extends Record> recordClass, Record delegate)
private com.google.common.base.Optional<Record>
doReadRecord(java.lang.Class<? extends Record> recordClass, RecordDefinition rd, long position)
long
position(Record record)
private Record
readBasicRecord(RecordDefinition definition, long position)
com.google.common.base.Optional<ZipPosixPermissionFixer.CentralDirectoryHeader>
readCentralDirectoryHeader(long position)
com.google.common.base.Optional<ZipPosixPermissionFixer.EndOfCentralDirectory>
readEndOfCentralDirectory(long position)
com.google.common.base.Optional<ZipPosixPermissionFixer.LocalFileHeader>
readLocalFileHeader(long position)
Checks whether the archive starts with a LFH.private com.google.common.base.Optional<? extends Record>
readRecord(RecordDefinition rd, long position)
private com.google.common.base.Optional<Record>
readRecordWithSignature(RecordDefinition rd, long position)
com.google.common.base.Optional<ZipPosixPermissionFixer.Zip64EndOfCentralDirectory>
readZip64EndOfCentralDirectory(long position)
com.google.common.base.Optional<ZipPosixPermissionFixer.Zip64EndOfCentralDirectoryLocator>
readZip64EndOfCentralDirectoryLocator(long position)
long
zipSize()
-
-
-
Field Detail
-
recordPositions
private final java.util.Map<Record,java.lang.Long> recordPositions
-
reader
private final SeekableByteChannelRecordReader reader
-
zipSize
private final long zipSize
-
-
Constructor Detail
-
ZipReader
public ZipReader(SeekableByteChannelRecordReader reader, long zipSize)
-
-
Method Detail
-
zipSize
public long zipSize()
-
readLocalFileHeader
public com.google.common.base.Optional<ZipPosixPermissionFixer.LocalFileHeader> readLocalFileHeader(long position) throws java.io.IOException
Checks whether the archive starts with a LFH. If it doesn't, it may be an empty archive.- Throws:
java.io.IOException
-
readCentralDirectoryHeader
public com.google.common.base.Optional<ZipPosixPermissionFixer.CentralDirectoryHeader> readCentralDirectoryHeader(long position) throws java.io.IOException
- Throws:
java.io.IOException
-
readEndOfCentralDirectory
public com.google.common.base.Optional<ZipPosixPermissionFixer.EndOfCentralDirectory> readEndOfCentralDirectory(long position) throws java.io.IOException
- Throws:
java.io.IOException
-
readZip64EndOfCentralDirectoryLocator
public com.google.common.base.Optional<ZipPosixPermissionFixer.Zip64EndOfCentralDirectoryLocator> readZip64EndOfCentralDirectoryLocator(long position) throws java.io.IOException
- Throws:
java.io.IOException
-
readZip64EndOfCentralDirectory
public com.google.common.base.Optional<ZipPosixPermissionFixer.Zip64EndOfCentralDirectory> readZip64EndOfCentralDirectory(long position) throws java.io.IOException
- Throws:
java.io.IOException
-
readRecord
private com.google.common.base.Optional<? extends Record> readRecord(RecordDefinition rd, long position) throws java.io.IOException
- Throws:
java.io.IOException
-
readRecordWithSignature
private com.google.common.base.Optional<Record> readRecordWithSignature(RecordDefinition rd, long position) throws java.io.IOException
- Throws:
java.io.IOException
-
doReadRecord
private com.google.common.base.Optional<Record> doReadRecord(java.lang.Class<? extends Record> recordClass, RecordDefinition rd, long position) throws java.io.IOException
- Throws:
java.io.IOException
-
createRecord
private Record createRecord(java.lang.Class<? extends Record> recordClass, Record delegate)
-
readBasicRecord
private Record readBasicRecord(RecordDefinition definition, long position) throws java.io.IOException
- Throws:
java.io.IOException
-
position
public long position(Record record)
-
-