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

edu.stanford.protege.webprotege.search.ProjectSearchSettings Maven / Gradle / Ivy

The newest version!
package edu.stanford.protege.webprotege.search;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableList;
import edu.stanford.protege.webprotege.common.ProjectId;

import javax.annotation.Nonnull;

/**
 * Matthew Horridge
 * Stanford Center for Biomedical Informatics Research
 * 2020-11-03
 */
@AutoValue

public abstract class ProjectSearchSettings {

    public static final String SEARCH_FILTERS = "searchFilters";

    public static final String PROJECT_ID = "projectId";


    @JsonCreator
    @Nonnull
    public static ProjectSearchSettings get(@JsonProperty(PROJECT_ID) @Nonnull ProjectId projectId,
                                            @JsonProperty(SEARCH_FILTERS)@Nonnull ImmutableList searchFilters) {
        return new AutoValue_ProjectSearchSettings(projectId, searchFilters);
    }

    @JsonProperty(PROJECT_ID)
    @Nonnull
    public abstract ProjectId getProjectId();

    @JsonProperty(SEARCH_FILTERS)
    @Nonnull
    public abstract ImmutableList getSearchFilters();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy