- All Implemented Interfaces:
Format description: (Each numbered item describes a series of bytes that follow sequentially, one after the other.)
1. "signature" - 4 bytes - 0x4A4D4533
2. "version" - 4 bytes - 0x00000002
3. "number of classes" - 4 bytes - number of entries in the class table
CLASS TABLE: X blocks, each consisting of items 4 thru 11, where X = the number of Savable classes from item 3
4. "class alias" - X bytes, where X = ((int) FastMath.log(aliasCount, 256) + 1) - a numeric ID used to refer to a Savable class when reading or writing
5. "full class-name size" - 4 bytes - the number of bytes in item 6
6. "full class name" - X bytes of text, where X = the size from item 5
- the fully qualified class name of the Savable class,
7. "number of fields" - 4 bytes - the number of saved fields in the Savable class
8. "field alias" - 1 byte - a numeric ID used to refer to a saved field when reading or writing. Because field aliases are only a single byte, no Savable class can save more than 256 fields.
9. "field type" - 1 byte
- the type of data in the saved field. Values are defined in
10. "field-name size" - 4 bytes - the number of bytes in item 11
11. "field name" - X bytes of text, where X = the size from item 10 - the tag specified when reading or writing the saved field
12. "number of capsules" - 4 bytes - the number of capsules in this stream
LOCATION TABLE: X blocks, each consisting of items 13 and 14, where X = the number of capsules from item 12
13. "data id" - 4 bytes - numeric ID of an object that was saved to this stream
14. "data location" - 4 bytes - the offset in the capsule-data section where the savable object identified in item 13 is stored
15. "future use" - 4 bytes - 0x00000001
16. "root id" - 4 bytes - numeric ID of the top-level savable object CAPSULE-DATA SECTION: X blocks, each consisting of items 17 thru 19, where X = the number of capsules from item 12
17. "class alias" - 4 bytes - see item 4
18. "capsule length" - 4 bytes - the length in bytes of item 19
19. "capsule data" - X bytes of data, where X = the number of bytes from item 18
Method SummaryModifier and TypeMethodDescription
(byte bytes, int width)
static <T extends Savable>
TSaves the object into memory then loads it from memory.
aliasCountprotected int aliasCount
idCountprotected int idCount
debugpublic static boolean debug
useFastBufspublic static boolean useFastBufs
getInstancepublic static BinaryExporter getInstance()
saveAndLoadSaves the object into memory then loads it from memory. Used by tests to check if the persistence system is working.
- Type Parameters:
T- The type of savable.
assetManager- AssetManager to load assets from.
object- The object to save and then load.
- A new instance that has been saved and loaded from the original object.
fixClassAliasprotected byte fixClassAlias
(byte bytes, int width)
generateTagprotected byte generateTag()