Class NumberNodesAndEdgesAlgorithm

java.lang.Object
org.graffiti.plugin.algorithm.AbstractAlgorithm
de.ipk_gatersleben.ag_nw.graffiti.plugins.misc.graph_cleanup.NumberNodesAndEdgesAlgorithm
All Implemented Interfaces:
UndoableEdit, Algorithm, ProvidesEdgeContextMenu, ProvidesNodeContextMenu

public class NumberNodesAndEdgesAlgorithm
extends AbstractAlgorithm
implements ProvidesEdgeContextMenu, ProvidesNodeContextMenu
Labels all selected nodes with unique numbers. Does not touch existing labels.
  • Constructor Details

    • NumberNodesAndEdgesAlgorithm

      public NumberNodesAndEdgesAlgorithm()
      Constructs a new instance.
  • Method Details

    • getCategory

      public String getCategory()
      Description copied from interface: Algorithm
      Returns the category an algorithm should assigned to. Return NULL if the algorithm should be sorted directly in the plugin menu.
      Specified by:
      getCategory in interface Algorithm
      Overrides:
      getCategory in class AbstractAlgorithm
      Returns:
      The category an algorithm should assigned to.
    • getSetCategory

      public Set<Category> getSetCategory()
      Description copied from interface: Algorithm
      Returns a set of categories to classify this algorithm . e.g. return new HashSet(Arrays.asList( Category.GRAPH, Category.NODE )); is an algorithm, working on graphs and more specific on nodes
      Specified by:
      getSetCategory in interface Algorithm
      Overrides:
      getSetCategory in class AbstractAlgorithm
      Returns:
      Set of Category Enums that classify this algorithm.
    • setParameters

      public void setParameters​(Parameter[] params)
      Description copied from interface: Algorithm
      Sets the parameters for this algorithm. Must have the same types and order as the array returned by getParameter.
      Specified by:
      setParameters in interface Algorithm
      Overrides:
      setParameters in class AbstractAlgorithm
      Parameters:
      params - Parameter array
    • execute

      public void execute()
      Description copied from interface: Algorithm
      Executes the whole algorithm.
      Specified by:
      execute in interface Algorithm
      See Also:
      Algorithm.execute()
    • reset

      public void reset()
      Description copied from interface: Algorithm
      Resets the internal state of the algorithm.
      Specified by:
      reset in interface Algorithm
      Overrides:
      reset in class AbstractAlgorithm
      See Also:
      Algorithm.reset()
    • getName

      public String getName()
      Description copied from interface: Algorithm
      Returns the name (ID) of the algorithm.
      Specified by:
      getName in interface Algorithm
      Returns:
      DOCUMENT ME!
      See Also:
      Algorithm.getName()
    • getCurrentEdgeContextMenuItem

      public JMenuItem[] getCurrentEdgeContextMenuItem​(Collection<Edge> selectedEdges)
      Description copied from interface: ProvidesEdgeContextMenu
      This method should be implemented, as that it returns the desired Context-MenuItem for the Plugin. It will be added on the fly to a newly created context menu, when the user right-clicks an EditorFrame. The plugin should implement the Interface SelectionListener if the menu item should be variable to the current selection. You could also return a MenuItem that contains a subMenu.
      Specified by:
      getCurrentEdgeContextMenuItem in interface ProvidesEdgeContextMenu
      Returns:
      MenuItem the menu item for the context menu
    • getParameters

      public Parameter[] getParameters()
      Description copied from interface: Algorithm
      Returns a list of Parameter that are set for this algorithm.
      Specified by:
      getParameters in interface Algorithm
      Overrides:
      getParameters in class AbstractAlgorithm
      Returns:
      a collection of Parameter that are needed by the Algorithm.
    • attach

      public void attach​(Graph g, Selection s)
      Description copied from interface: Algorithm
      Attaches the given graph to this algorithm. A ttaches the given Selection information to the algorithm.
      Specified by:
      attach in interface Algorithm
      Overrides:
      attach in class AbstractAlgorithm
      Parameters:
      g - the graph to attach.
      s - the selection to attach.
    • check

      public void check()
      Description copied from interface: Algorithm
      Checks whether all preconditions of the current graph are satisfied.
      Specified by:
      check in interface Algorithm
      Overrides:
      check in class AbstractAlgorithm
    • getCurrentNodeContextMenuItem

      public JMenuItem[] getCurrentNodeContextMenuItem​(Collection<Node> selectedNodes)
      Description copied from interface: ProvidesNodeContextMenu
      This method should be implemented, as that it returns the desired Context-MenuItem for the Plugin. It will be added on the fly to a newly created context menu, when the user right-clicks an EditorFrame. The plugin should implement the Interface SelectionListener if the menu item should be variable to the current selection. You could also return a MenuItem that contains a subMenu.
      Specified by:
      getCurrentNodeContextMenuItem in interface ProvidesNodeContextMenu
      Returns:
      MenuItem the menu item for the context menu
    • isLayoutAlgorithm

      public boolean isLayoutAlgorithm()
      Description copied from interface: Algorithm
      A LayoutAlgorithm should return true. All other types of algorithms should return false.
      Specified by:
      isLayoutAlgorithm in interface Algorithm
      Overrides:
      isLayoutAlgorithm in class AbstractAlgorithm
      Returns: