decorators-squad / eo-yaml

YAML for Java 8 and above. A user-friendly OOP library. Previously known as "Camel".
BSD 3-Clause "New" or "Revised" License
262 stars 53 forks source link
elegantobjects java8 java9 module oop-library parsing yaml

eo-yaml

eo-yaml-logo

Coverage Status

Managed By Self XDSD DevOps By Rultor.com We recommend IntelliJ IDEA OpenJDK Quality Outreach

winner

YAML for Java 8 and above. Based on spec 1.2.

From the specification: YAML™ is a human-friendly, cross language, Unicode based data serialization language.

To get the latest release from Maven Central, simply add the following to your pom.xml:

<dependency>
    <groupId>com.amihaiemil.web</groupId>
    <artifactId>eo-yaml</artifactId>
    <version>8.0.6</version>
</dependency>

or download the fat jar.

If you use Gradle, add this to your dependencies:

implementation group: 'com.amihaiemil.web', name: 'eo-yaml', version: '8.0.6'

The releases are also available on Github Packages!

Usage

The API of this library is clean, intuitive and generally close to the javax.json API that most developers are used to. Just start from the com.amihaiemil.eoyaml.Yaml class, it offers all the builders and readers you may need.

See the Block Style Yaml wiki for a first glance.

Features detailed (ongoing work!)

Here is what we have so far:

Here is what we're still missing and working on:

Keep in mind that the library is based on interfaces and OOP best practices, so you can probably extend/decorate the objects in order to create the functionality you need, if it's not yet implemented.

If you have some time and like the library, please consider contributing.

Contribute

Contributors are welcome!

  1. Open an issue regarding an improvement you thought of, or a bug you noticed, or ask to be assigned to an existing one.
  2. If the issue is confirmed, fork the repository, do the changes on a separate branch and make a Pull Request.
  3. After review and acceptance, the PR is merged and closed.

Make sure the maven build

$ mvn clean install -Pcheckstyle,itcases

passes before making a PR.