All Downloads are FREE. Search and download functionalities are using the official Maven repository.

angry1980.neo4j.Query Maven / Gradle / Ivy

There is a newer version: 0.0.10
Show newest version
package angry1980.neo4j;

import org.neo4j.graphdb.Result;

import java.util.Map;
import java.util.Optional;
import java.util.OptionalInt;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;

public interface Query> {

    static Stream> asStream(Result result){
        Iterable> iterable = () -> result;
        return StreamSupport.stream(iterable.spliterator(), false);
    }

    static int getIntResult(Result result, String name){
        return asStream(result)
                .map(data -> data.getOrDefault(name, "0"))
                .map(Object::toString)
                .map(Integer::decode)
                .findAny()
                .orElse(0);
    }

    static Optional getIntValue(Map data, String name){
        return Optional.ofNullable(data.get(name))
                .map(Object::toString)
                .map(Integer::decode);
    }

    static Optional getBooleanValue(Map data, String name){
        return Optional.ofNullable(data.get(name))
                .map(Object::toString)
                .map(Boolean::parseBoolean);
    }

    String getQuery();

    Map getParams();

    K handle(Result result);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy