Simple external DSL for working with Xodus.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This project is still very early in its development.

This project is a simple external DSL for working with Xodus EntityStores' api. It does not attempt to replace what can be done by directly working with the provided api. Instead it focuses on allowing a simple command structure for adding and searching for entities within the context of debugging or management.

See org.almibe.stroll.StrollSpec in src/test/kotlin and issues for current status.

Examples { User name: "Alex", hp: 42, employer => 8-3 } { Character name: "Billy Lee", games => [ 0-34, 0-344, 0-324,0-134 ], rightsHolder -> 2-404 }
stroll.delete { 1-55 }
stroll.delete { [1-55, 1-556] }
stroll.find { Character games => 0-45 }
stroll.update { 1-44 name: "Chuck Rock" }
stroll.set { 1-45 name: "Bobert" }


45-76 is an example of an entity id

: sets a property

-> calls setLink method in Xodus api

=> calls addLink method in Xodus api

_ means this property or link has been set when used in a find username: _ spouse -> _

to is used to search for a range age: 5 to 50 NOT SUPPORTED YET SEE ISSUE #9

startsWith is used to search for a string that starts with a value username: startsWith "bob" NOT SUPPORTED YET SEE ISSUE #9

update replaces or adds properties & links

set removes all existing properties and links and adds the newly provided ones

All floating point numbers are double

All fixed point numbers all ints unless they have an L after them then they are Longs

Booleans are represented with the keyword true or false

Stroll does not support nulls