# byte-mapper

Состояние: <green-badge>v1.0.1</green-badge>

Удобный сериализатор и десериализатор Java объектов в виде компактного массива байт. Берет лучшее из нескольких технологий:
- Компактность, схожая с ProtoBuf;
- Синтаксическое удобство, как у JPA;
- Простота использования, как у Jackson ObjectMapper;

Ссылки: [GitHub](https://github.com/FalmerF/byte-mapper)

## Пример

```java title="User.class"
@ByteEntity(1)
public class User {

    @ByteProperty(1)
    private int id;

    @ByteProperty(2)
    private String firstName;

    @ByteProperty(3)
    private short age;

    @ByteProperty(4)
    private Address address;

    @ByteProperty(5)
    private Contact[] contacts;
    
    // Getters and Setters...
}
```

```java
// Create Byte Mapper Context
ByteMapperContext context = new ByteMapperContext();
mapper = context.getByteMapper();

// Write User object to ByteBuffer
ByteBuffer exampleBuffer = ByteBuffer.allocate(1024);
mapper.write(exampleBuffer, user);

buffer.flip();

// Read User object from ByteBuffer
user = mapper.read(exampleBuffer);
```