| package com.google.flatbuffers; |
| |
| /** |
| * Represent a chunk of data, where FlexBuffers will read from. |
| */ |
| interface ReadBuf { |
| |
| /** |
| * Read boolean from data. Booleans as stored as single byte |
| * @param index position of the element in ReadBuf |
| * @return boolean element |
| */ |
| boolean getBoolean(int index); |
| |
| /** |
| * Read a byte from data. |
| * @param index position of the element in ReadBuf |
| * @return a byte |
| */ |
| byte get(int index); |
| |
| /** |
| * Read a short from data. |
| * @param index position of the element in ReadBuf |
| * @return a short |
| */ |
| short getShort(int index); |
| |
| /** |
| * Read a 32-bit int from data. |
| * @param index position of the element in ReadBuf |
| * @return an int |
| */ |
| int getInt(int index); |
| |
| /** |
| * Read a 64-bit long from data. |
| * @param index position of the element in ReadBuf |
| * @return a long |
| */ |
| long getLong(int index); |
| |
| /** |
| * Read a 32-bit float from data. |
| * @param index position of the element in ReadBuf |
| * @return a float |
| */ |
| float getFloat(int index); |
| |
| /** |
| * Read a 64-bit float from data. |
| * @param index position of the element in ReadBuf |
| * @return a double |
| */ |
| double getDouble(int index); |
| |
| /** |
| * Read an UTF-8 string from data. |
| * @param start initial element of the string |
| * @param size size of the string in bytes. |
| * @return a {@code String} |
| */ |
| String getString(int start, int size); |
| |
| /** |
| * Expose ReadBuf as an array of bytes. |
| * This method is meant to be as efficient as possible, so for a array-backed ReadBuf, it should |
| * return its own internal data. In case access to internal data is not possible, |
| * a copy of the data into an array of bytes might occur. |
| * @return ReadBuf as an array of bytes |
| */ |
| byte[] data(); |
| |
| /** |
| * Defines the size of the message in the buffer. It also determines last position that buffer |
| * can be read. Last byte to be accessed is in position {@code limit() -1}. |
| * @return indicate last position |
| */ |
| int limit(); |
| |
| } |