edu.stanford.protege.webprotege.viz.EdgeCriteria Maven / Gradle / Ivy
The newest version!
package edu.stanford.protege.webprotege.viz;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonSubTypes.Type;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import edu.stanford.protege.webprotege.criteria.Criteria;
import javax.annotation.Nonnull;
/**
* Matthew Horridge
* Stanford Center for Biomedical Informatics Research
* 2019-12-05
*/
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
property = "match"
)
@JsonSubTypes({
@Type(AnyEdgeCriteria.class),
@Type(NoEdgeCriteria.class),
@Type(AnyInstanceOfEdgeCriteria.class),
@Type(AnySubClassOfEdgeCriteria.class),
@Type(AnyRelationshipEdgeCriteria.class),
@Type(RelationshipEdgePropertyEqualsCriteria.class),
@Type(HeadNodeMatchesCriteria.class),
@Type(TailNodeMatchesCriteria.class),
@Type(NegatedEdgeCriteria.class),
@Type(CompositeEdgeCriteria.class)
})
public interface EdgeCriteria extends Criteria {
R accept(@Nonnull EdgeCriteriaVisitor visitor);
@JsonIgnore
@Nonnull
EdgeCriteria simplify();
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy