Kotlin Object Path

Access objects using a simple path

License

License

Categories

Categories

Kotlin Languages
GroupId

GroupId

com.auritylab
ArtifactId

ArtifactId

kotlin-object-path
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

Kotlin Object Path
Access objects using a simple path
Project URL

Project URL

https://github.com/AurityLab/kotlin-object-path
Project Organization

Project Organization

AurityLab UG (haftungsbeschraenkt)
Source Code Management

Source Code Management

https://github.com/AurityLab/kotlin-object-path

Download kotlin-object-path

Dependencies

runtime (2)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.3.41
org.jetbrains.kotlin : kotlin-reflect jar 1.3.41

Project Modules

There are no modules declared in this project.

Kotlin Object Path

GitHub Actions ktlint Maven Central

A library for Kotlin which lets you access properties and lists using a simple path (e.g "users.0.name").

Supports simple reflective access and is compatible with parsed JSON values from Jackson/Gson.

Inspired by object-path.

Install

Gradle

dependencies {
    implementation("com.auritylab:kotlin-object-path:1.0.0")
}

Maven

<dependency>
    <groupId>com.auritylab</groupId>
    <artifactId>kotlin-object-path</artifactId>
    <version>1.0.0</version>
</dependency>

Usage

// Simple container which holds three values.
data class Container(val a: Any, val b: Any, val c: Any)

// Create an instance with some simple values.
val value = Container("0a", "0b", Container("0c1a", listOf("0c1b0", "0c1b1", "0c1b2"), mapOf(Pair("aa", "0c1c0"), Pair("bb", "0c1c2"))))

// Get a value:
KObjectPath(value).path("c.a").get() // returns "0c1a"
KObjectPath(value).path("c.b.0").get() // returns "0c1b0"
KObjectPath(value).path("c.c.aa").get() // returns "0c1c0"

// Set a value (Currently only supported on mutable Maps and Lists):
KObjectPath(value).path("c.b.0").set("new value")
KObjectPath(value).path("c.c.aa").set("new value")
com.auritylab

AurityLab

Versions

Version
1.0.0