java.lang.Object
org.graffiti.plugin.algorithm.AbstractAlgorithm
de.ipk_gatersleben.ag_nw.graffiti.plugins.misc.svg_exporter.PDFAlgorithm
All Implemented Interfaces:
NeedsSwingThread, UndoableEdit, BackgroundTaskStatusProvider, Algorithm

public class PDFAlgorithm
extends AbstractAlgorithm
implements NeedsSwingThread, BackgroundTaskStatusProvider
The print algorithm.
Author:
Christian Klukas
  • Constructor Details

    • PDFAlgorithm

      public PDFAlgorithm()
      Empty contructor.
    • PDFAlgorithm

      public PDFAlgorithm​(int border)
  • Method Details

    • getName

      public String getName()
      Returns the display name (in menu area) for this plugin.

      If graffiti sometimes supports mutiple languages, this method have to be refactored.

      Specified by:
      getName in interface Algorithm
      Returns:
      DOCUMENT ME!
      See Also:
      Algorithm.getName()
    • 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.
    • check

      public void check() throws PreconditionException
      Unused for this plugin.
      Specified by:
      check in interface Algorithm
      Overrides:
      check in class AbstractAlgorithm
      Throws:
      PreconditionException
      See Also:
      Algorithm.check()
    • 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
    • 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.
    • execute

      public void execute()
      This method is called by the plugin environment to start the action this plugin is for.

      This method starts the printprocess

      This method needs the activeSession set by the setActiveSession(Session) Method. Make shure, that setActiveSession(Session) is called BEFOREexecute() method!!!

      Specified by:
      execute in interface Algorithm
      See Also:
      Algorithm.execute(), #setActiveSession(Session)
    • getCurrentStatusValue

      public int getCurrentStatusValue()
      Description copied from interface: BackgroundTaskStatusProvider
      Returns the completion status. WARNING: This method must be Thread-Safe!
      Specified by:
      getCurrentStatusValue in interface BackgroundTaskStatusProvider
      Returns:
      A number from 0..100 which represents the completion status. If -1 is returned, the progress bar is set to "indeterminate", which means, that the progress bar will float from left to right and reverse. (Useful if status can not be determined) Other values let the progressbar disappear.
    • getCurrentStatusMessage1

      public String getCurrentStatusMessage1()
      Description copied from interface: BackgroundTaskStatusProvider
      Returns a status message on what is going on. WARNING: This method must be Thread-Safe!
      Specified by:
      getCurrentStatusMessage1 in interface BackgroundTaskStatusProvider
      Returns:
      A status message, or null if not needed.
    • getCurrentStatusMessage2

      public String getCurrentStatusMessage2()
      Description copied from interface: BackgroundTaskStatusProvider
      Returns a status message on what is going on. Is used the same like getCurrentStatusMessage1. This second message adds flexibility. If not needed, the first message should be used and this should return null if not needed. WARNING: This method must be Thread-Safe!
      Specified by:
      getCurrentStatusMessage2 in interface BackgroundTaskStatusProvider
      Returns:
      A status message, or null if not needed.
    • pleaseStop

      public void pleaseStop()
      Description copied from interface: BackgroundTaskStatusProvider
      If this method is called on the status provider, the linked work task should stop its execution as soon as possible.
      Specified by:
      pleaseStop in interface BackgroundTaskStatusProvider
    • getCurrentStatusValueFine

      public double getCurrentStatusValueFine()
      Description copied from interface: BackgroundTaskStatusProvider
      Same as getCurrentStatusValue(), but this method should return a finer granted progress value. If this is not needed, the code for getCurrentStatusValue() could be reused by the client.
      Specified by:
      getCurrentStatusValueFine in interface BackgroundTaskStatusProvider
      Returns:
      The current progress value (fine).
    • pluginWaitsForUser

      public boolean pluginWaitsForUser()
      Specified by:
      pluginWaitsForUser in interface BackgroundTaskStatusProvider
      Returns:
      Let this method return true in order to show a "Continue" button in the GUI. When this buttons is clicked, the method pleaseContinueRun is called. Use these two methods to let the user interact with the GUI while the algorithm is waiting for the user to be ready for the continued work of the algorithm.
    • pleaseContinueRun

      public void pleaseContinueRun()
      Description copied from interface: BackgroundTaskStatusProvider
      This method is called as soon as the user indicates that he is comfortable to let the algorithm continue its work.
      Specified by:
      pleaseContinueRun in interface BackgroundTaskStatusProvider
    • setCurrentStatusValue

      public void setCurrentStatusValue​(int value)
      Description copied from interface: BackgroundTaskStatusProvider
      Override this method and pass a implementor of this interface to any other service method. This method can use this call to update the status value.
      Specified by:
      setCurrentStatusValue in interface BackgroundTaskStatusProvider