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

edu.stanford.protege.webprotege.criteria.DateIsBeforeCriteria Maven / Gradle / Ivy

package edu.stanford.protege.webprotege.criteria;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.google.auto.value.AutoValue;

import javax.annotation.Nonnull;

/**
 * Matthew Horridge
 * Stanford Center for Biomedical Informatics Research
 * 15 Jun 2018
 */
@AutoValue

@JsonTypeName("DateIsBefore")
public abstract class DateIsBeforeCriteria implements DateCriteria {

    @Nonnull
    @JsonCreator
    public static DateIsBeforeCriteria get(@JsonProperty(YEAR) int year,
                                           @JsonProperty(MONTH) int month,
                                           @JsonProperty(DAY) int day) {
        DateCriteria.checkArgs(year, month, day);
        return new AutoValue_DateIsBeforeCriteria(year,
                                                  month,
                                                  day);
    }

    @Override
    public  R accept(@Nonnull AnnotationValueCriteriaVisitor visitor) {
        return visitor.visit(this);
    }

    @Override
    public  R accept(@Nonnull LiteralCriteriaVisitor visitor) {
        return visitor.visit(this);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy