Interface CodecHandler
-
- All Known Implementing Classes:
DefaultCodecProvider.DummyHandler,DefaultCodecProvider.UnsupportedHandler
public interface CodecHandlerInterface for a handler which can encode/decode a specific access page encoding.- Author:
- James Ahlborn
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancanDecodeInline()Returnstrueif this handler can decode a page inline,falseotherwise.booleancanEncodePartialPage()Returnstrueif this handler can encode partial pages,falseotherwise.voiddecodePage(ByteBuffer inPage, ByteBuffer outPage, int pageNumber)Decodes the given page buffer.ByteBufferencodePage(ByteBuffer page, int pageNumber, int pageOffset)Encodes the given page buffer into a new page buffer and returns it.
-
-
-
Method Detail
-
canEncodePartialPage
boolean canEncodePartialPage()
Returnstrueif this handler can encode partial pages,falseotherwise. If this method returnsfalse, theencodePage(java.nio.ByteBuffer, int, int)method will never be called with a non-zero pageOffset.
-
canDecodeInline
boolean canDecodeInline()
Returnstrueif this handler can decode a page inline,falseotherwise. If this method returnsfalse, thedecodePage(java.nio.ByteBuffer, java.nio.ByteBuffer, int)method will always be called with separate buffers.
-
decodePage
void decodePage(ByteBuffer inPage, ByteBuffer outPage, int pageNumber) throws IOException
Decodes the given page buffer.- Parameters:
inPage- the page to be decodedoutPage- the decoded page. ifcanDecodeInline()istrue, this will be the same buffer as inPage.pageNumber- the page number of the given page- Throws:
IOException- if an exception occurs during decoding
-
encodePage
ByteBuffer encodePage(ByteBuffer page, int pageNumber, int pageOffset) throws IOException
Encodes the given page buffer into a new page buffer and returns it. The returned page buffer will be used immediately and discarded so that it may be re-used for subsequent page encodings.- Parameters:
page- the page to be encoded, should not be modifiedpageNumber- the page number of the given pagepageOffset- offset within the page at which to start writing the page data- Returns:
- the properly encoded page buffer for the given page buffer
- Throws:
IOException- if an exception occurs during decoding
-
-