/json-schema-core

Core support architecture for json-schema-validator and other processors

Primary LanguageJavaOtherNOASSERTION

License LGPLv3 License ASL 2.0 Build Status Maven Central

Read me first

The license of this project is dual licensed LGPLv3 or later/ASL 2.0. See file LICENSE for more details. The full text of both licensed is included in the package.

What this is

This package contains the core mechanics of json-schema-validator library. It also provides a comprehensive infrastructure to build processing chains for anything you can think of, really. To this effect, this package can be used, for instance, to perform the following, provided you use the appropriate software packages:

  • generate a JSON Schema from a POJO, and then validate instances against that schema;
  • transform different, related schema formats into JSON Schema, or the reverse (for instance Avro);
  • conditional patching/deserialization;
  • etc etc.

You can see sample usages of this library in a separate project which is demonstrated online. More details on this library can be found here.

This library supports Draft 03 and Draft 04. Contribution of support for Draft 05 (issue #61), Draft 06 (issue #62), or Draft 07 (issue #63) would be gratefully accepted.

Versions

The current stable verson is 1.2.14 (ChangeLog, Javadoc).

The old verson is 1.0.4 (ChangeLog, Javadoc).

See here for the major changes between 1.0.x and 1.2.x.

Using this project with gradle/maven

For gradle, use:

dependencies {
    compile(group: "com.github.java-json-tools", name: "json-schema-core", version: "1.2.14");
}

For maven:

<dependency>
    <groupId>com.github.java-json-tools</groupId>
    <artifactId>json-schema-core</artifactId>
    <version>1.2.14</version>
</dependency>

OBSOLETE You can also get the jars from Bintray.

Versioning scheme policy

The versioning scheme is defined by the middle digit of the version number:

  • if this number is even, then this is the stable version; no new features will be added to such versions, and the user API will not change (save for some additions if requested).
  • if this number is odd, then this is the development version; new features will be added to those versions only, and the user API may change.