
redis.clients.jedis.json.Path2 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jedis Show documentation
Show all versions of jedis Show documentation
Jedis is a blazingly small and sane Redis java client.
package redis.clients.jedis.json;
/**
* Path is a RedisJSON v2 path, representing a valid path or a multi-path into an object.
*/
public class Path2 {
public static final Path2 ROOT_PATH = new Path2("$");
private final String str;
public Path2(final String str) {
if (str == null) {
throw new NullPointerException("Path cannot be null.");
}
if (str.isEmpty()) {
throw new IllegalArgumentException("Path cannot be empty.");
}
if (str.charAt(0) == '$') {
this.str = str;
} else if (str.charAt(0) == '.') {
this.str = '$' + str;
} else {
this.str = "$." + str;
}
}
@Override
public String toString() {
return str;
}
public static Path2 of(final String path) {
return new Path2(path);
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (!(obj instanceof Path2)) {
return false;
}
if (obj == this) {
return true;
}
return this.toString().equals(((Path2) obj).toString());
}
@Override
public int hashCode() {
return str.hashCode();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy