/* * This file is part of the HyperGraphDB source distribution. This is copyrighted * software. For permitted uses, licensing options and redistribution, please see * the LicensingInformation file at the root level of the distribution. * * Copyright (c) 2005-2010 Kobrix Software, Inc. All rights reserved. */ package org.hypergraphdb.query; import org.hypergraphdb.HGHandle; import org.hypergraphdb.HyperGraph; /** * * <p> * This interface defines a predicate of a single atom. There is * no guarantee as to the running time of a predicate, but in general * implementation should strive not to do explicit reads from the * data store whenever possible. * </p> * * @author Borislav Iordanov * */ public interface HGAtomPredicate { /** * <p>Check whether a given <code>Object</code> satisfies this * query condition.</p> * * @param graph The <code>HyperGraph</code> instance. * @param handle The atom on which to test the query condition. * * @return <code>true</code> if the passed in parameter satisfies * the condition and <code>false</code> otherwise. */ boolean satisfies(HyperGraph graph, HGHandle handle); }