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

com.nhl.link.move.runtime.json.query.DynamicNamedProperty Maven / Gradle / Ivy

package com.nhl.link.move.runtime.json.query;

import com.fasterxml.jackson.databind.JsonNode;

import java.util.Collections;
import java.util.List;

class DynamicNamedProperty extends BaseQuery {

    private JsonQuery valueQuery, clientQuery;

    DynamicNamedProperty(JsonQuery valueQuery, JsonQuery clientQuery) {
        this.valueQuery = valueQuery;
        this.clientQuery = clientQuery;
    }

    @Override
    public List doExecute(JsonNode rootNode, JsonNodeWrapper currentNode) {

        JsonNode propertyNameNode = Utils.unwrapValueNode(valueQuery.execute(rootNode, currentNode));
        if (propertyNameNode == null) {
            return Collections.emptyList();
        }

        JsonQuery delegate = new NamedProperty(clientQuery, propertyNameNode.asText());
        return delegate.execute(rootNode, currentNode);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy