public static BinaryExporter getInstance() {
        return new BinaryExporter();
    }
Exports savable objects in jMonkeyEngine's native binary format.

<p>Format description: (Each numbered item
describes a series of bytes that follow sequentially, one after the other.)

<p>1. "signature" - 4 bytes - 0x4A4D4533

<p>2. "version" - 4 bytes - 0x00000002

<p>3. "number of classes" - 4 bytes - number of entries in the class table

<p>CLASS TABLE: X blocks, each consisting of items 4 thru 11,
where X = the number of Savable classes from item 3

<p>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

<p>5. "full class-name size" - 4 bytes - the number of bytes in item 6

<p>6. "full class name" - X bytes of text, where X = the size from item 5
- the fully qualified class name of the Savable class,
e.g. <code>"com.jme.math.Vector3f"</code>

<p>7. "number of fields" - 4 bytes
- the number of saved fields in the Savable class

<p>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.

<p>9. "field type" - 1 byte
- the type of data in the saved field. Values are defined in
<code>com.jme.util.export.binary.BinaryClassField</code>.

<p>10. "field-name size" - 4 bytes - the number of bytes in item 11

<p>11. "field name" - X bytes of text, where X = the size from item 10
- the tag specified when reading or writing the saved field

<p>12. "number of capsules" - 4 bytes
- the number of capsules in this stream

<p>LOCATION TABLE: X blocks, each consisting of items 13 and 14,
where X = the number of capsules from item 12

<p>13. "data id" - 4 bytes
- numeric ID of an object that was saved to this stream

<p>14. "data location" - 4 bytes
- the offset in the capsule-data section where the savable object identified
in item 13 is stored

<p>15. "future use" - 4 bytes - 0x00000001

<p>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

<p>17. "class alias" - 4 bytes - see item 4

<p>18. "capsule length" - 4 bytes - the length in bytes of item 19

<p>19. "capsule data" - X bytes of data, where X = the number of bytes from
item 18

@author Joshua Slack
jme3-core/src/plugins/java/com/jme3/export/binary/BinaryExporter.java