edu.stanford.protege.webprotege.search.ProjectSearchSettings Maven / Gradle / Ivy
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();
}