raisercostin / jedi-nodes   0.10

Apache License 2.0 GitHub

Scala (and java) fluent interface to json, xml, hocon, conf, properties, freemind.

Scala versions: 2.12 2.11 2.10

Jedi Nodes

Status

Download Build Status Codacy Badge codecov

Description

Scala (and java) fluent interface to yaml/yml, json, xml, hocon, conf, properties, freemind, csv, folders. There is an SNode entity that is used as the common entity

Features

Usage

Samples

 val a = Nodes.loadYaml("a.yaml")
 val b = Nodes.loadHocon("b.conf")
 val c = Nodes.loadXml("c.xml")
 
 val ab = a.addChild("b",b)
 val abc = c.children.last.addChild("ab",ab)
 
 Nodes.saveFreemind(abc,"abc.mm")

For more samples see LocationsTest.scala

Library

  • from sbt
libraryDependencies += "org.raisercostin" %% "jedi-node" % "0.1"
resolvers += "raisercostin repository" at "http://dl.bintray.com/raisercostin/maven"

Design

Projects that are using jedi-node:

Backlog

  • see HierarchicalMultimap in jedi-io

Similar technologies

Hierarchical Map

A container of keys in form a.b.c is needed. The value could be multivalue eventually typed : Seq(value1,value2,value3). Given a container and a key prefix another container should be returned with partial keys prefix removed. A refereence to full key might be useful. A relativeKey concept might be useful? A save/load from hocon, yaml would be nice. A business wrapper around a Config should be easy to use.

Development

  • to configure release bintrayChangeCredentials
  • to publish current version with all scala versions (2.10,2.11,2.12): +publish
  • to release sbt> release skip-tests

History

2018-02-19

  • Create Nodes abstraction

2018-02-25

  • Add JSON and YAML validators