// Path: src/main/java/eu/luminis/elastic/search/response/aggregations/Aggregation.java
// public class Aggregation {
//     private String name;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// }
// 
// Path: src/main/java/eu/luminis/elastic/search/response/aggregations/bucket/Bucket.java
// public interface Bucket {
// }


import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonProperty;
import eu.luminis.elastic.search.response.aggregations.Aggregation;
import eu.luminis.elastic.search.response.aggregations.bucket.Bucket;
import java.util.HashMap;
import java.util.Map;
package eu.luminis.elastic.search.response.aggregations.bucket;



/**
 * Specific bucket implementation for Date Histogram Aggregations.
 */
public class DateHistogramBucket implements Bucket {
    @JsonProperty("key_as_string")
    private String keyAsString;

    private Long key;

    @JsonProperty("doc_count")
    private Long docCount;

    public String getKeyAsString() {
        return keyAsString;
    }

    public void setKeyAsString(String keyAsString) {
        this.keyAsString = keyAsString;
    }

    public Long getKey() {
        return key;
    }

    public void setKey(Long key) {
        this.key = key;
    }

    public Long getDocCount() {
        return docCount;
    }

    public void setDocCount(Long docCount) {
        this.docCount = docCount;
    }

// Path: src/main/java/eu/luminis/elastic/search/response/aggregations/Aggregation.java
// public class Aggregation {
//     private String name;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// }
// 
// Path: src/main/java/eu/luminis/elastic/search/response/aggregations/bucket/Bucket.java
// public interface Bucket {
// }


// Path: src/main/java/eu/luminis/elastic/search/response/aggregations/bucket/DateHistogramBucket.java
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonProperty;
import eu.luminis.elastic.search.response.aggregations.Aggregation;
import eu.luminis.elastic.search.response.aggregations.bucket.Bucket;
import java.util.HashMap;
import java.util.Map;

package eu.luminis.elastic.search.response.aggregations.bucket;



/**
 * Specific bucket implementation for Date Histogram Aggregations.
 */
public class DateHistogramBucket implements Bucket {
    @JsonProperty("key_as_string")
    private String keyAsString;

    private Long key;

    @JsonProperty("doc_count")
    private Long docCount;

    public String getKeyAsString() {
        return keyAsString;
    }

    public void setKeyAsString(String keyAsString) {
        this.keyAsString = keyAsString;
    }

    public Long getKey() {
        return key;
    }

    public void setKey(Long key) {
        this.key = key;
    }

    public Long getDocCount() {
        return docCount;
    }

    public void setDocCount(Long docCount) {
        this.docCount = docCount;
    }

    private Map<String, Aggregation> aggregations = new HashMap<>();