Skip to content
FlatPack entity serialization library
Java JavaScript
Failed to load latest commit information.
apidoc-plugin Add m2eclipse lifecycle mappings.
apidoc [maven-release-plugin] prepare for next development iteration
client [maven-release-plugin] prepare for next development iteration
core Remove dangling injections.
demo-client [maven-release-plugin] prepare for next development iteration
demo-server [maven-release-plugin] prepare for next development iteration
eclipse-plugin prefixing license files
jersey [maven-release-plugin] prepare for next development iteration
policy [maven-release-plugin] prepare for next development iteration
search Make PackScope reentrant.
thirdparty [maven-release-plugin] prepare for next development iteration
.gitignore Squash merge of security branch from 5a0a1fc. Update master
com.getperka.flatpack.flatpack-parent-LICENSE.txt prefixing license files

FlatPack Serialization Framework

FlatPack is serialization framework used by Perka to make its JPA entities available via REST to JavaScript, iOS, and Android clients.


  • Serialize arbitrary JPA object graphs into payloads that can be processed easily in non-Java environments.
  • Support role- and principal-based security on property access.
  • Integration with jax-rs (specifically Jersey).
  • Straightforward code generation of client libraries and documentation.
  • Minimize developer friction

Thirty-Second Tour

  • apidoc and apidoc-plugin are used during the maven build process to make JavaDoc strings available to ApiDescriber.
  • client provides support code for generated client libraries.
  • core contains the serialization logic. The central types are FlatPack, Packer, and Unpacker.
  • demo-client and demo-server show a very simple JAX-RS server and how to use generated client code. The demo-client module also contains smoke-tests.
  • eclipse-plugin contains an m2eclipse connector for the FlatPack plugins. A pre-built drop-in is available at from the project downloads.
  • fast and fast-plugin, the FlatPack Automatic Source Tool, take an ApiDescription and generate client access libraries consisting of DTO objects and API request methods.
  • jersey wires FlatPack into Jersey's request dispatch logic. The ApiDescriber type will produce a FlatPack description of the API server's methods and entities.
  • search is utility code.

More Information

Additional documentation is available in the FlatPack wiki.

Something went wrong with that request. Please try again.