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

com.gooddata.md.Query Maven / Gradle / Ivy

There is a newer version: 3.12.0+api3
Show newest version
package com.gooddata.md;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;

import java.util.Collection;

/**
 * Metadata query result
 */
@JsonTypeName("query")
@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Query {

    public static final String URI = "/gdc/md/{projectId}/query/{type}";

    private final Collection entries;

    private final Meta meta;

    @JsonCreator
    private Query(@JsonProperty("entries") Collection entries, @JsonProperty("meta") Meta meta) {
        this.entries = entries;
        this.meta = meta;
    }

    public Collection getEntries() {
        return entries;
    }

    public String getCategory() {
        return meta.getCategory();
    }

    public String getSummary() {
        return meta.getSummary();
    }

    public String getTitle() {
        return meta.getTitle();
    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private static class Meta {
        private final String category;
        private final String summary;
        private final String title;

        @JsonCreator
        public Meta(@JsonProperty("category") String category, @JsonProperty("summary") String summary,
                    @JsonProperty("title") String title) {
            this.category = category;
            this.summary = summary;
            this.title = title;
        }

        public String getCategory() {
            return category;
        }

        public String getSummary() {
            return summary;
        }

        public String getTitle() {
            return title;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy