Class SQLFunctionDijkstra

  • All Implemented Interfaces:
    SQLFunction

    public class SQLFunctionDijkstra
    extends SQLFunctionPathFinder
    Dijkstra's algorithm describes how to find the cheapest path from one node to another node in a directed weighted graph.

    The first parameter is source record. The second parameter is destination record. The third parameter is a name of property that represents 'weight'.

    If property is not defined in edge or is null, distance between vertexes are 0.

    Author:
    Luca Garulli (l.garulli--(at)--gmail.com)
    • Constructor Detail

      • SQLFunctionDijkstra

        public SQLFunctionDijkstra()
    • Method Detail

      • execute

        public LinkedList<Vertex> execute​(Object iThis,
                                          Identifiable iCurrentRecord,
                                          Object iCurrentResult,
                                          Object[] iParams,
                                          CommandContext iContext)
        Description copied from interface: SQLFunction
        Process a record.
        iCurrentRecord - : current record
        iCurrentResult - TODO
        iParams - : function parameters, number is ensured to be within minParams and maxParams.
        iContext - : object calling this function
        Returns:
        function result, can be null. Special cases : can be null if function aggregate results, can be null if function filter results : this mean result is excluded
      • getSyntax

        public String getSyntax()
        Description copied from interface: SQLFunction
        Returns a convenient SQL String representation of the function.

        Example :

          myFunction( param1, param2, [optionalParam3])
         

        This text will be used in exception messages.

        Returns:
        String , never null.