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

edu.stanford.protege.webprotege.match.MatchingEngine Maven / Gradle / Ivy

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

import com.google.common.collect.ImmutableList;
import edu.stanford.protege.webprotege.criteria.Criteria;
import org.semanticweb.owlapi.model.OWLEntity;

import javax.annotation.Nonnull;
import java.util.stream.Stream;

/**
 * Matthew Horridge
 * Stanford Center for Biomedical Informatics Research
 * 19 Jun 2018
 */
public interface MatchingEngine {

    /**
     * Get the entities that match the specified criteria.
     */
    Stream match(@Nonnull Criteria criteria);

    /**
     * Gets the entities that match any of the specified criteria
     */
    Stream matchAny(@Nonnull ImmutableList criteria);

    /**
     * Determines whether the specified entity matches the specified criteria
     */
    boolean matches(@Nonnull OWLEntity entity, @Nonnull Criteria criteria);

    boolean matchesAny(@Nonnull OWLEntity entity, @Nonnull ImmutableList criteria);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy