Rocana Configuration

A JSON-like configuration format that doesn't require quoting key names in dictionaries and supports richer types including floats, doubles, data sizes, and durations.

License

License

Categories

Categories

Configuration Application Layer Libs config
GroupId

GroupId

com.rocana
ArtifactId

ArtifactId

rocana-configuration
Last Version

Last Version

1.2.0
Release Date

Release Date

Type

Type

jar
Description

Description

Rocana Configuration
A JSON-like configuration format that doesn't require quoting key names in dictionaries and supports richer types including floats, doubles, data sizes, and durations.
Project URL

Project URL

https://github.com/scalingdata/rocana-configuration
Source Code Management

Source Code Management

https://github.com/scalingdata/rocana-configuration

Download rocana-configuration

How to add to project

<!-- https://jarcasting.com/artifacts/com.rocana/rocana-configuration/ -->
<dependency>
    <groupId>com.rocana</groupId>
    <artifactId>rocana-configuration</artifactId>
    <version>1.2.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.rocana/rocana-configuration/
implementation 'com.rocana:rocana-configuration:1.2.0'
// https://jarcasting.com/artifacts/com.rocana/rocana-configuration/
implementation ("com.rocana:rocana-configuration:1.2.0")
'com.rocana:rocana-configuration:jar:1.2.0'
<dependency org="com.rocana" name="rocana-configuration" rev="1.2.0">
  <artifact name="rocana-configuration" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.rocana', module='rocana-configuration', version='1.2.0')
)
libraryDependencies += "com.rocana" % "rocana-configuration" % "1.2.0"
[com.rocana/rocana-configuration "1.2.0"]

Dependencies

compile (5)

Group / Artifact Type Version
com.google.guava : guava jar 15.0
org.antlr : antlr4 jar 4.5
org.slf4j : slf4j-api jar 1.7.5
org.apache.commons : commons-lang3 jar 3.0
joda-time : joda-time jar 2.3

test (2)

Group / Artifact Type Version
junit : junit jar 4.11
org.slf4j : slf4j-log4j12 jar 1.7.5

Project Modules

There are no modules declared in this project.

Rocana Configuration

rocana-configuration is a JSON-like configuration format intended to be handled by humans. Some of the additional functionality includes:

  • Comments
  • Dictionary keys without quotes
  • Rich data types such as floats, doubles, data sizes, and durations
  • Java API for marshalling configuration files to types

Examples

Currently, examples come in the form of unit tests.

Comparison with JSON

JSON is a great data interchange format, but is often used as a configuration format. JSON can be tedious to modify by hand because of required quoting for both keys and values.

Comparison with Java Properties

Java Properties files are the de-facto standard for configuration in Java projects. However, they lack a few features that would improve editing by hand:

  • Nested data structures
  • Non-string keys and values
  • Arrays
com.rocana

Rocana

Versions

Version
1.2.0
1.2.0-rc2
1.2.0-rc1