package atdj

  1. Overview
  2. Docs
Java code generation for ATD

Install

Dune Dependency

Authors

  1. M
    Martin Jambon <martin@mjambon.com>
  2. R
    Rudi Grinberg <rudi.grinberg@gmail.com>
  3. M
    Martin Jambon <martin@r2c.dev>
  4. M
    Martin Jambon <github@mjambon.com>
  5. I
    Ivan Jager <aij+git@mrph.org>
  6. O
    oleksiy <oleksiy.golovko@ahrefs.com>
  7. D
    David Sheets <sheets@alum.mit.edu>
  8. R
    Rudi Grinberg <me@rgrinberg.com>
  9. M
    Martin Jambon <martin@esper.com>
  10. J
    Jeff Meister <nanaki@gmail.com>
  11. C
    Caio Wakamatsu <caio.wakamatsu@ahrefs.com>
  12. C
    Carmelo Piccione <carmelo.piccione@gmail.com>
  13. D
    Daniel Weil <danweil68@gmail.com>
  14. E
    Egor Chemokhonenko <egor.chemohonenko@ahrefs.com>
  15. Gabriel Scherer
  16. R
    Raman Varabets <roman.vorobets@gmail.com>
  17. T
    tzm <frank@boldsolutions.de>
  18. M
    Mathieu Baudet <mathieubaudet@fb.com>
  19. O
    Oleksiy Golovko <alexei.golovko@gmail.com>
  20. R
    Rauan Mayemir <rauan@mayemir.io>
  21. C
    Carmelo Piccione <cep1@solvuu.com>
  22. J
    John Billings <john@monkeynut.org>
  23. L
    Louis Roché <louis@louisroche.net>
  24. B
    Brendan Long <self@brendanlong.com>
  25. C
    Chris Yocum <cyocum@gmail.com>
  26. L
    Louis Roché (Ahrefs) <louis.roche@ahrefs.com>
  27. L
    Louis Roché <louis.roche@ahrefs.com>
  28. P
    Pavel Antoshkin <pavel.antoshkin@ahrefs.com>
  29. P
    Pierre Boutillier <pierre.boutillier@laposte.net>
  30. S
    Shon Feder <shon.feder@key.me>
  31. A
    Anurag Soni <anuragsoni.13@gmail.com>
  32. A
    Arjun Ravi Narayan <arjunravinarayan@gmail.com>
  33. A
    Asya-kawai <kawai-toshiki@aintek.xyz>
  34. C
    Christophe Troestler <christophe.Troestler@umons.ac.be>
  35. Damien Doligez
  36. D
    Daniel M <dan.mntg@gmail.com>
  37. D
    Ding Xiang Fei <dingxiangfei2009@protonmail.ch>
  38. F
    François Pottier <francois.pottier@inria.fr>
  39. J
    Javier Chavarri <javier.chavarri@gmail.com>
  40. K
    Kate <kit.ty.kate@disroot.org>
  41. L
    Louis <louis.roche@ahrefs.com>
  42. L
    Louis Roché <louis@cryptosense.com>
  43. R
    Raman Varabets <raman+git@ahrefs.com>
  44. S
    Stephane Legrand <slegrand45@gmail.com>
  45. V
    Vincent Bernardoff <vb@luminar.eu.org>
  46. H
    haoyang <haoyang@esper.co>
  47. P
    pmundkur <prashanth.mundkur@gmail.com>
  48. Y
    ygrek <ygrek@autistici.org>

Maintainers

Sources

atdts-2.12.0.tbz
sha256=02530cbc92ddb1cb6021951af4f62f95c2f39abf091a996c5e44ecadb20a4fc0
sha512=43cbbc4fd9491fcc0e543a488940f17468f5b31e263c7322bad1cc497fb4662a2d7e6aa219377a7105bd31ba80ec69b214247b63406a335ce2fdee886195bae9

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: 17 May 2023

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.

Target languages currently supported:

All can installed with opam e.g.

$ opam install atdgen

Documentation

here

Contributing

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.

For guidelines on how to contribute code, consult CONTRIBUTING.md.

Authors

The ATD project started in 2010. Contributors include:

  • Martin Jambon

  • Rudi Grinberg

  • Ivan Jager

  • David Sheets

  • Jeff Meister

  • Carmelo Piccione

  • oleksiy

  • Louis Roché

  • Daniel Weil

  • Egor Chemokhonenko

  • Gabriel Scherer

  • Raman Varabets

  • tzm

  • Mathieu Baudet

  • Oleksiy Golovko

  • Rauan Mayemir

  • John Billings

  • Brendan Long

  • Caio Wakamatsu

  • Chris Yocum

  • Pierre Boutillier

  • Shon Feder

  • Anurag Soni

  • Arjun Ravi Narayan

  • Asya-kawai

  • Christophe Troestler

  • Damien Doligez

  • Daniel M

  • François Pottier

  • Javier Chavarri

  • Stephane Legrand

  • Vincent Bernardoff

  • haoyang

  • pmundkur

  • ygrek

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

Dependencies (4)

  1. re
  2. atd >= "2.7.0"
  3. ocaml >= "4.08"
  4. dune >= "2.8"

Dev Dependencies (1)

  1. odoc with-doc

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.