# NodeChecker (ARX Developer Documentation)

org.deidentifier.arx.framework.check

## Class NodeChecker

- java.lang.Object
- - org.deidentifier.arx.framework.check.NodeChecker

-     public class NodeChecker
      extends java.lang.Object

  This class orchestrates the process of transforming and analyzing a dataset.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `NodeChecker.Result` The result of a check.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NodeChecker(DataManager manager, Metric<?> metric, ARXConfiguration.ARXConfigurationInternal config, int historyMaxSize, double snapshotSizeDataset, double snapshotSizeSnapshot, SolutionSpace solutionSpace)` Creates a new NodeChecker instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TransformedData` | `applyTransformation(Transformation transformation)` Applies the given transformation and returns the dataset
    `TransformedData` | `applyTransformation(Transformation transformation, Dictionary microaggregationDictionary)` Applies the given transformation and returns the dataset
    `NodeChecker.Result` | `check(Transformation node)` Checks the given transformation, computes the utility if it fulfills the privacy model
    `NodeChecker.Result` | `check(Transformation node, boolean forceMeasureInfoLoss)` Checks the given transformation
    `ARXConfiguration.ARXConfigurationInternal` | `getConfiguration()` Returns the configuration
    `History` | `getHistory()` Returns the checkers history, if any.
    `int[][]` | `getInputBuffer()` Returns the input buffer
    `Metric<?>` | `getMetric()` Returns the utility measure

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

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

- - ### Constructor Detail

    - #### NodeChecker

          public NodeChecker(DataManager manager,
                     Metric<?> metric,
                     ARXConfiguration.ARXConfigurationInternal config,
                     int historyMaxSize,
                     double snapshotSizeDataset,
                     double snapshotSizeSnapshot,
                     SolutionSpace solutionSpace)

      Creates a new NodeChecker instance.
      Parameters:
        `manager` - The manager
        `metric` - The metric
        `config` - The configuration
        `historyMaxSize` - The history max size
        `snapshotSizeDataset` - A history threshold
        `snapshotSizeSnapshot` - A history threshold
        `solutionSpace` -

  - ### Method Detail

    - #### applyTransformation

          public TransformedData applyTransformation(Transformation transformation)

      Applies the given transformation and returns the dataset
      Parameters:
        `transformation` -
      Returns:

    - #### applyTransformation

          public TransformedData applyTransformation(Transformation transformation,
                                            Dictionary microaggregationDictionary)

      Applies the given transformation and returns the dataset
      Parameters:
        `transformation` -
        `microaggregationDictionary` - A dictionary for microaggregated values
      Returns:

    - #### check

          public NodeChecker.Result check(Transformation node)

      Checks the given transformation, computes the utility if it fulfills the privacy model
      Parameters:
        `node` -
      Returns:

    - #### check

          public NodeChecker.Result check(Transformation node,
                                 boolean forceMeasureInfoLoss)

      Checks the given transformation
      Parameters:
        `node` -
        `forceMeasureInfoLoss` -
      Returns:

    - #### getConfiguration

          public ARXConfiguration.ARXConfigurationInternal getConfiguration()

      Returns the configuration
      Returns:

    - #### getHistory

          public History getHistory()

      Returns the checkers history, if any.
      Returns:

    - #### getInputBuffer

          public int[][] getInputBuffer()

      Returns the input buffer
      Returns:

    - #### getMetric

          public Metric<?> getMetric()

      Returns the utility measure
      Returns: