Hello Worlds!
To start using Xodus, define dependencies:
<!-- in Maven project -->
<dependency>
<groupId>org.jetbrains.xodus</groupId>
<artifactId>xodus-openAPI</artifactId>
<version>2.0.1</version>
</dependency>
// in Gradle project
dependencies {
implementation("org.jetbrains.xodus:xodus-openAPI:2.0.1")
}
Read more about managing dependencies.
There are two different ways to deal with data, which results in two different API layers: Environments and Entity Stores.
Environments
Add dependency on org.jetbrains.xodus:xodus-environment:2.0.1
.
try (Environment env = Environments.newInstance("/home/me/.myAppData")) {
env.executeInTransaction(txn -> {
final Store store = env.openStore("Messages", StoreConfig.WITHOUT_DUPLICATES, txn);
store.put(txn, StringBinding.stringToEntry("Hello"), StringBinding.stringToEntry("World!"));
});
}
Entity Stores
Add dependency on org.jetbrains.xodus:xodus-entity-store:2.0.1
, org.jetbrains.xodus:xodus-environment:2.0.1
and org.jetbrains.xodus:xodus-vfs:2.0.1
.
try (PersistentEntityStore entityStore = PersistentEntityStores.newInstance("/home/me/.myAppData")) {
entityStore.executeInTransaction(txn -> {
final Entity message = txn.newEntity("Message");
message.setProperty("hello", "World!");
});
}
Building from Source
Gradle is used to build, test, and publish. JDK 1.8 or higher is required. To build the project, run:
./gradlew build
To assemble JARs and skip running tests, run:
./gradlew assemble