|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.freecompany.redline.header.AbstractHeader
public abstract class AbstractHeader
Nested Class Summary | |
---|---|
class |
AbstractHeader.AbstractEntry<T>
|
static interface |
AbstractHeader.Entry<T>
|
static interface |
AbstractHeader.Tag
|
Field Summary | |
---|---|
protected java.util.Map<java.lang.Integer,AbstractHeader.Entry<?>> |
entries
|
protected static int |
ENTRY_SIZE
|
protected static int |
HEADER_HEADER_SIZE
|
protected static int |
MAGIC_WORD
|
protected java.util.Map<AbstractHeader.Entry<?>,java.lang.Integer> |
pending
|
protected java.util.Map<java.lang.Integer,AbstractHeader.Tag> |
tags
|
Constructor Summary | |
---|---|
AbstractHeader()
|
Method Summary | ||
---|---|---|
AbstractHeader.Entry<?> |
addEntry(AbstractHeader.Tag tag,
int count)
Adds a pending entry to this header. |
|
int |
count()
|
|
AbstractHeader.Entry<java.lang.String[]> |
createEntry(AbstractHeader.Tag tag,
java.lang.CharSequence value)
|
|
AbstractHeader.Entry<int[]> |
createEntry(AbstractHeader.Tag tag,
int value)
|
|
|
createEntry(AbstractHeader.Tag tag,
int type,
T values)
|
|
|
createEntry(AbstractHeader.Tag tag,
T values)
|
|
protected AbstractHeader.Entry<?> |
createEntry(int type)
|
|
AbstractHeader.Entry<?> |
createEntry(int tag,
int type,
int count)
|
|
|
createEntry(int tag,
int type,
T values)
|
|
protected java.nio.ByteBuffer |
getData(java.nio.ByteBuffer index)
Writes the data section of the file, starting at the current position which must be immediately after the header section. |
|
AbstractHeader.Entry<?> |
getEntry(AbstractHeader.Tag tag)
|
|
AbstractHeader.Entry<?> |
getEntry(int tag)
|
|
protected java.nio.ByteBuffer |
getHeader()
Memory maps the portion of the destination file that will contain the header structure header and advances the file channels position. |
|
protected java.nio.ByteBuffer |
getIndex()
Memory maps the portion of the destination file that will contain the index structure header and advances the file channels position. |
|
java.util.Map<AbstractHeader.Entry<?>,java.lang.Integer> |
getPending()
|
|
protected abstract boolean |
pad()
|
|
int |
read(java.nio.channels.ReadableByteChannel in)
Reads the entire header contents for this channel and returns the number of entries found. |
|
AbstractHeader.Entry<?> |
readEntry(int tag,
int type,
int offset,
int count,
java.nio.ByteBuffer data)
|
|
void |
removeEntry(AbstractHeader.Entry<?> entry)
|
|
java.lang.String |
toString()
|
|
int |
write(java.nio.channels.WritableByteChannel out)
Writes this header section to the provided file at the current position and returns the required padding. |
|
protected int |
writeData(java.util.Collection<java.nio.ByteBuffer> buffers,
java.nio.ByteBuffer index,
AbstractHeader.Entry<?> entry,
int offset)
|
|
void |
writePending(java.nio.channels.FileChannel channel)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static final int HEADER_HEADER_SIZE
protected static final int ENTRY_SIZE
protected static final int MAGIC_WORD
protected final java.util.Map<java.lang.Integer,AbstractHeader.Tag> tags
protected final java.util.Map<java.lang.Integer,AbstractHeader.Entry<?>> entries
protected final java.util.Map<AbstractHeader.Entry<?>,java.lang.Integer> pending
Constructor Detail |
---|
public AbstractHeader()
Method Detail |
---|
protected abstract boolean pad()
public int read(java.nio.channels.ReadableByteChannel in) throws java.io.IOException
java.io.IOException
public int write(java.nio.channels.WritableByteChannel out) throws java.io.IOException
java.io.IOException
public int count()
protected java.nio.ByteBuffer getHeader() throws java.io.IOException
java.io.IOException
protected java.nio.ByteBuffer getIndex() throws java.io.IOException
java.io.IOException
protected java.nio.ByteBuffer getData(java.nio.ByteBuffer index) throws java.io.IOException
java.io.IOException
protected int writeData(java.util.Collection<java.nio.ByteBuffer> buffers, java.nio.ByteBuffer index, AbstractHeader.Entry<?> entry, int offset)
public void writePending(java.nio.channels.FileChannel channel)
public java.util.Map<AbstractHeader.Entry<?>,java.lang.Integer> getPending()
public void removeEntry(AbstractHeader.Entry<?> entry)
public AbstractHeader.Entry<?> getEntry(AbstractHeader.Tag tag)
public AbstractHeader.Entry<?> getEntry(int tag)
public AbstractHeader.Entry<java.lang.String[]> createEntry(AbstractHeader.Tag tag, java.lang.CharSequence value)
public AbstractHeader.Entry<int[]> createEntry(AbstractHeader.Tag tag, int value)
public <T> AbstractHeader.Entry<T> createEntry(AbstractHeader.Tag tag, T values)
public <T> AbstractHeader.Entry<T> createEntry(AbstractHeader.Tag tag, int type, T values)
public <T> AbstractHeader.Entry<T> createEntry(int tag, int type, T values)
public AbstractHeader.Entry<?> addEntry(AbstractHeader.Tag tag, int count)
writePending
on this
object.
public AbstractHeader.Entry<?> readEntry(int tag, int type, int offset, int count, java.nio.ByteBuffer data)
public AbstractHeader.Entry<?> createEntry(int tag, int type, int count)
protected AbstractHeader.Entry<?> createEntry(int type)
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |