Package edu.claflin.finder.algo

# Class Bundle

java.lang.Object
edu.claflin.finder.algo.Algorithm
edu.claflin.finder.algo.Bundle

All Implemented Interfaces:
  `Processable<Graph,Graph>`, `PropertyChangeListener`, `EventListener`

public class Bundle extends Algorithm implements PropertyChangeListener
Processes a `Graph` searching for subgraphs. Will utilize all provided algorithms. Effectively bundles more than one algorithm into a single algorithm.

Version:
  3.1.2 February 4, 2015
Author:
  Charles Allen Schultz II

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class edu.claflin.finder.algo.Algorithm

  `Algorithm.GraphSortOrder`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `private final Algorithm[]`
  `algorithms`
  The `Algorithm` array containing the algorithms to process graphs with.
  `private int`
  `done`
  Number of algorithms executed.

  ### Fields inherited from class edu.claflin.finder.algo.Algorithm

  `args, PROP_PROGRESS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Bundle(Algorithm[] algorithms)`
  Constructs the Algorithm object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ArrayList<Graph>`
  `process(Graph graph)`
  Processes data.
  `void`
  `propertyChange(PropertyChangeEvent evt)`
  `String`
  `toString()`

  ### Methods inherited from class edu.claflin.finder.algo.Algorithm

  `addPropertyChangeListener, cull, getGraphSortOrder, getMinNodeCount, getPartiteNumber, getWeightName, removePropertyChangeListener, setGraphSortOrder, setMinNodeCount, setPartiteNumber, setProgress, setWeightName, zeropad`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### algorithms

    private final Algorithm[] algorithms
    The `Algorithm` array containing the algorithms to process graphs with.

  - ### done

    private int done
    Number of algorithms executed. Used for tracking progress.

- ## Constructor Details

  - ### Bundle

    public Bundle(Algorithm[] algorithms)
    Constructs the Algorithm object.
    Parameters:
      `algorithms` - the Algorithm array to process graphs with.

- ## Method Details

  - ### process

    public ArrayList<Graph> process(Graph graph)
    Processes data.
    Finds most Subgraphs by running the graph through all the Algorithm objects in the algorithms array. Used to search the same via different methods.
    Specified by:
      `process` in interface `Processable<Graph,Graph>`
    Parameters:
      `graph` - the `Graph` object to search through.
    Returns:
      the ArrayList of Graph objects holding all found subgraphs.

  - ### propertyChange

    public void propertyChange(PropertyChangeEvent evt)
    Specified by:
      `propertyChange` in interface `PropertyChangeListener`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`