This library provides TypeSafe-based serialization for Scribe.
You can setup the library like the following.
final EntityResolver resolver = Scribe
.defaultBuilder()
.install(new NativeAnnotationsModule())
.build();
final TypeSafeMapper mapper = new TypeSafeMapper(resolver);
Type initialization has to happen before serialization.
@Data
public class Foo {
private final String field;
}
final StringEncoding<Foo> foo = mapper.stringEncodingFor(Foo.class);
At this point, you can now efficiently serialize or deserialize an
instance of Foo
.
final Foo instance = new Foo("hello world");
final String encoded = foo.encodeAsString(instance);
final Foo result = foo.decodeFromString(encoded);
assert result.equals(instance) == true;