Package prefuse.data.util

Source Code of prefuse.data.util.ValidEdgePredicate

package prefuse.data.util;

import prefuse.data.Graph;
import prefuse.data.Node;
import prefuse.data.Tuple;
import prefuse.data.expression.AbstractPredicate;

/**
* Filtering predicate over a potential edge table that indicates which
* edges are valid edges according to a backing node table. Useful for
* creating a pool of edges for which not all node have been created, and
* then filtering out the valid edges using the node pool.
* @author <a href="http://jheer.org">jeffrey heer</a>
*/
public class ValidEdgePredicate extends AbstractPredicate {
   
    private Graph m_g;
   
    /**
     * Creates a new ValidEdgePredicate.
     * @param g the backing graph, the node table of this graph will be used
     * to check for valid edges.
     */
    public ValidEdgePredicate(Graph g) {
        m_g = g;
    }
   
    /**
     * Indicates if the given tuple can be used as a valid edge for
     * the nodes of the backing graph.
     * @param tpl a data tuple from a potential edge table
     * @return true if the tuple contents allow it to serve as a valid
     * edge of between nodes in the backing graph
     */
    public boolean getBoolean(Tuple tpl) {
        Node s = m_g.getNodeFromKey(tpl.getInt(m_g.getEdgeSourceField()));
        Node t = m_g.getNodeFromKey(tpl.getInt(m_g.getEdgeTargetField()));
        return ( s != null && t != null );
    }
   
} // end of class ValidEdgePredicate
TOP

Related Classes of prefuse.data.util.ValidEdgePredicate

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.