gishur.core.algorithms
Class Algorithm

java.lang.Object
  |
  +--gishur.core.algorithms.Algorithm
Direct Known Subclasses:
BFS, DFS, Dijkstra, DijkstraAlgo, MSTKruskal, TestAlgo

public class Algorithm
extends java.lang.Object

Version:
1.0
Author:
Thomas Wolf

Constructor Summary
Algorithm()
           
 
Method Summary
 void execute()
           
 java.lang.Object execute(java.lang.Object p1)
           
 java.lang.Object execute(java.lang.Object[] param)
           
 java.lang.Object execute(java.lang.Object p1, java.lang.Object p2)
           
protected static java.lang.Object execute(java.lang.Object o, java.lang.Object[] param)
          Executes the algorithm.
 java.lang.Object execute(java.lang.Object p1, java.lang.Object p2, java.lang.Object p3)
           
 java.lang.Object execute(java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4)
           
 java.lang.Object execute(java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5)
           
static java.lang.reflect.Method getMethod(int i)
          Returns the i-th algorithm method.
 java.lang.Object getParameter(int i)
           
 java.lang.Object[] getParameters()
           
 java.lang.Object getReturnValue()
           
protected static void setMethod(java.lang.Class cl, java.lang.String name)
          Sets the algorithm method.
 void setParameter(int i, java.lang.Object o)
           
 void setParameters(java.lang.Object[] o)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Algorithm

public Algorithm()
Method Detail

setMethod

protected static void setMethod(java.lang.Class cl,
                                java.lang.String name)
Sets the algorithm method.
Parameters:
cl - Class where to search for methods
name - Name of proper algorithm methods

getMethod

public static java.lang.reflect.Method getMethod(int i)
Returns the i-th algorithm method.
Parameters:
i - Index for method
Returns:
i-th algorithm method

execute

protected static java.lang.Object execute(java.lang.Object o,
                                          java.lang.Object[] param)
Executes the algorithm. Execute searches for the correct method according to the parameter list. Please note, that this method invokes the first method (with the specified method name as in setMethod(java.lang.Class, java.lang.String)) that can handle the parameter list.
Parameters:
o - instance of this class for execution
param - parameter list
Returns:
return value
Throws:
AlgorithmException, - if there is no matching method or if the method produced an exception. If the method throws an exception that is a RuntimeException, then this exception will be thrown.

execute

public void execute()

execute

public java.lang.Object execute(java.lang.Object[] param)

execute

public java.lang.Object execute(java.lang.Object p1)

execute

public java.lang.Object execute(java.lang.Object p1,
                                java.lang.Object p2)

execute

public java.lang.Object execute(java.lang.Object p1,
                                java.lang.Object p2,
                                java.lang.Object p3)

execute

public java.lang.Object execute(java.lang.Object p1,
                                java.lang.Object p2,
                                java.lang.Object p3,
                                java.lang.Object p4)

execute

public java.lang.Object execute(java.lang.Object p1,
                                java.lang.Object p2,
                                java.lang.Object p3,
                                java.lang.Object p4,
                                java.lang.Object p5)

setParameters

public void setParameters(java.lang.Object[] o)

setParameter

public void setParameter(int i,
                         java.lang.Object o)

getParameters

public java.lang.Object[] getParameters()

getParameter

public java.lang.Object getParameter(int i)

getReturnValue

public java.lang.Object getReturnValue()