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

com.redhat.lightblue.ResultMetadata Maven / Gradle / Ivy

/*
 Copyright 2013 Red Hat, Inc. and/or its affiliates.

 This file is part of lightblue.

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program.  If not, see .
 */
package com.redhat.lightblue;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.fasterxml.jackson.databind.node.ObjectNode;

import com.redhat.lightblue.util.JsonObject;

/**
 * Contains result metadata returned for each document in the resultset
 */
public class ResultMetadata extends JsonObject {

    /**
     * Metadata property denoting the field should receive its contents from result metadata.
     * The field must be an object or any, and it is not persisted.
     */
    public static final String MD_PROPERTY_RESULT_METADATA="resultMetadata";

    /**
     * Metadata property denoting the field should receive its contents from document version
     * The field must be a string, and it is not persisted.
     */
    public static final String MD_PROPERTY_DOCVER="documentVersion";

    /**
     * Document version is a string that uniquely identifies the
     * document in its back end at a point in time. Thus, this string
     * contains the backend specific unique ID and the document's
     * timestamp/version. When the document is modified, its version
     * changes.
     */
    private String documentVersion;

    public String getDocumentVersion() {
        return documentVersion;
    }

    public void setDocumentVersion(String s) {
        documentVersion=s;
    }

    @Override
    public JsonNode toJson() {
        ObjectNode node=JsonNodeFactory.instance.objectNode();
        node.set("documentVersion",documentVersion==null?JsonNodeFactory.instance.nullNode():
                 JsonNodeFactory.instance.textNode(documentVersion));
        return node;
    }    
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy