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>, java.beans.PropertyChangeListener, java.util.EventListener

      public class Bundle
      extends Algorithm
      implements java.beans.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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private 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, counter, listener, PROP_PROGRESS`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.ArrayList<Graph>` | `process(Graph graph)` Processes data.
    `void` | `propertyChange(java.beans.PropertyChangeEvent evt)`

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

      `addPropertyChangeListener, cull, removePropertyChangeListener, setProgress`

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

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

- - ### Field Detail

    - #### 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 Detail

    - #### Bundle

          public Bundle(Algorithm[] algorithms)

      Constructs the Algorithm object.
      Parameters:
        `algorithms` - the Algorithm array to process graphs with.

  - ### Method Detail

    - #### process

          public java.util.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(java.beans.PropertyChangeEvent evt)

      Specified by:
        `propertyChange` in interface `java.beans.PropertyChangeListener`