package atdj

  1. Overview
  2. Docs

Description

Atdj is a program that generates a Java interface from type definitions. In particular, given a set of ATD type definitions, this tool generates a set of Java classes representing those types with built-in JSON serializers and deserializers

The primary benefits of using the generated interface, over manually manipulating JSON strings from within Java, are safety and ease of use. Specifically, the generated interface offers the following features:

  • JSON strings are automatically checked for correctness with respect to the ATD specification.

  • Details such as optional fields and their associated default values are automatically handled

Published: 15 Apr 2020

README

ATD project - Static Types for Json APIs

ATD stands for Adaptable Type Definitions. It is a syntax for defining cross-language data types. It is used as input to generate efficient and type-safe serializers, deserializers and validators. The current target languages are OCaml and Java.

The following opam packages are provided by the atd project:

  • atdgen: executable that generates OCaml code dealing with json and biniou data formats

  • atdj: executable that generates Java code dealing with json

  • atd: library for parsing atd files used by code generators

Documentation

here

Help wanted

The ATD suite of tools is developed and maintained by volunteers—users like you. Various issues are in need of attention. If you'd like to contribute, please leave a comment on the issue you're interested in, or create a new issue. Experienced contributors will guide you as needed.

There are many simple ways of making a positive impact. For example, you can...

  • Use the software in your project.

  • Give a demo to your colleagues.

  • Share the passion on your blog.

  • Tweet about what you're doing with atd.

  • Report difficulties by creating new issues. We'll triage them.

  • Ask questions on StackOverflow.

  • Answer questions on StackOverflow.

  • Discuss usage on the OCaml forums.

  • Pick a task that's easy for you.

Check out in particular good first time issues and other issues with which we could use some help.

See our contribution guidelines.

Authors

The ATD language and atdgen were originally created at MyLife by Martin Jambon in 2010. Atdj was created at MyLife by John Billings in 2010. Multiple volunteers contributed to the project after that. Other prominent contributors include Jeff Meister, David Sheets, and Rudi Grinberg.

We distribute the source code under the terms of a BSD license.

Dependencies (4)

  1. re
  2. atd >= "2.2.1" & < "2.3.0"
  3. dune >= "2.0"
  4. ocaml >= "4.02"

Dev Dependencies

None

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.