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

com.chutneytesting.design.api.dataset.DataSetDto Maven / Gradle / Ivy

package com.chutneytesting.design.api.dataset;

import static java.time.Instant.now;
import static java.util.Collections.emptyList;

import com.chutneytesting.tools.ui.KeyValue;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.time.Instant;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import org.immutables.value.Value;

@Value.Immutable
@JsonSerialize(as = ImmutableDataSetDto.class)
@JsonDeserialize(as = ImmutableDataSetDto.class)
@Value.Style(jdkOnly = true)
public interface DataSetDto {

    Comparator dataSetComparator = Comparator
        .comparing(DataSetDto::name, String.CASE_INSENSITIVE_ORDER);

    Optional id();
    String name();

    @Value.Default()
    default Integer version() {
        return 0;
    }

    @Value.Default()
    default String description() {
        return "";
    }

    @Value.Default()
    default Instant lastUpdated() {
        return now();
    }

    @Value.Default()
    default List tags() {
        return emptyList();
    }

    @Value.Default()
    @JsonProperty("uniqueValues")
    default List constants() {
        return emptyList();
    }

    @Value.Default()
    @JsonProperty("multipleValues")
    default List> datatable() {
        return emptyList();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy