# AbstractTransformer (ARX Developer Documentation)

org.deidentifier.arx.framework.check.transformer

## Class AbstractTransformer

- java.lang.Object
- - org.deidentifier.arx.framework.check.transformer.AbstractTransformer

- All Implemented Interfaces:
    java.util.concurrent.Callable<HashGroupify>
  Direct Known Subclasses:
    Transformer01, Transformer02, Transformer03, Transformer04, Transformer05, Transformer06, Transformer07, Transformer08, Transformer09, Transformer10, Transformer11, Transformer12, Transformer13, Transformer14, Transformer15, TransformerAll

      public abstract class AbstractTransformer
      extends java.lang.Object
      implements java.util.concurrent.Callable<HashGroupify>

  This class implements an abstract base class for all transformers.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `AbstractTransformer.GroupifyCounter` Implementation of the delegate for Requirements.COUNTER
    `protected class` | `AbstractTransformer.GroupifyCounterDistribution` Implementation of the delegate for Requirements.COUNTER | Requirements.DISTRIBUTION
    `protected class` | `AbstractTransformer.GroupifyCounterSecondaryCounter` Implementation of the delegate for Requirements.COUNTER | Requirements.SECONDARY_COUNTER
    `protected class` | `AbstractTransformer.GroupifyCounterSecondaryCounterDistribution` Implementation of the delegate for Requirements.COUNTER | Requirements.SECONDARY_COUNTER | Requirements.DISTRIBUTION
    `protected class` | `AbstractTransformer.GroupifyDistribution` Implementation of the delegate for Requirements.DISTRIBUTION
    `protected static interface` | `AbstractTransformer.IGroupify` Interface for delegates to the groupify .

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `bucket` The bucket.
    `protected int[][]` | `buffer` The buffer.
    `protected int[]` | `columnIndexArray` The column index array.
    `protected int[][][]` | `columnMapArray` The column map array.
    `protected ARXConfiguration.ARXConfigurationInternal` | `config` The mode of operation *.
    `protected int[][]` | `data` The data.
    `protected AbstractTransformer.IGroupify` | `delegate` The delegate.
    `protected IntArrayDictionary` | `dictionarySensFreq` The dictionary for the snapshot compression *.
    `protected IntArrayDictionary` | `dictionarySensValue` The dictionary for the snapshot compression *.
    `protected int` | `dimensions` The dimensions.
    `protected HashGroupifyEntry` | `element` The element.
    `protected int[]` | `generalization` The states.
    `protected int` | `generalizationindex0` The stateindices.
    `protected int` | `generalizationindex1` The stateindices.
    `protected int` | `generalizationindex10` The stateindices.
    `protected int` | `generalizationindex11` The stateindices.
    `protected int` | `generalizationindex12` The stateindices.
    `protected int` | `generalizationindex13` The stateindices.
    `protected int` | `generalizationindex14` The stateindices.
    `protected int` | `generalizationindex2` The stateindices.
    `protected int` | `generalizationindex3` The stateindices.
    `protected int` | `generalizationindex4` The stateindices.
    `protected int` | `generalizationindex5` The stateindices.
    `protected int` | `generalizationindex6` The stateindices.
    `protected int` | `generalizationindex7` The stateindices.
    `protected int` | `generalizationindex8` The stateindices.
    `protected int` | `generalizationindex9` The stateindices.
    `protected int[]` | `generalizationIndexArray` The state index array.
    `protected HashGroupifyEntry[]` | `groupifyArray` The groupify array.
    `protected GeneralizationHierarchy[]` | `hierarchies` The hierarchies.
    `protected int[][]` | `idindex0` The idindex14.
    `protected int[][]` | `idindex1` The idindex14.
    `protected int[][]` | `idindex10` The idindex14.
    `protected int[][]` | `idindex11` The idindex14.
    `protected int[][]` | `idindex12` The idindex14.
    `protected int[][]` | `idindex13` The idindex14.
    `protected int[][]` | `idindex14` The idindex14.
    `protected int[][]` | `idindex2` The idindex14.
    `protected int[][]` | `idindex3` The idindex14.
    `protected int[][]` | `idindex4` The idindex14.
    `protected int[][]` | `idindex5` The idindex14.
    `protected int[][]` | `idindex6` The idindex14.
    `protected int[][]` | `idindex7` The idindex14.
    `protected int[][]` | `idindex8` The idindex14.
    `protected int[][]` | `idindex9` The idindex14.
    `protected int` | `index0` The index14.
    `protected int` | `index1` The index14.
    `protected int` | `index10` The index14.
    `protected int` | `index11` The index14.
    `protected int` | `index12` The index14.
    `protected int` | `index13` The index14.
    `protected int` | `index14` The index14.
    `protected int` | `index2` The index14.
    `protected int` | `index3` The index14.
    `protected int` | `index4` The index14.
    `protected int` | `index5` The index14.
    `protected int` | `index6` The index14.
    `protected int` | `index7` The index14.
    `protected int` | `index8` The index14.
    `protected int` | `index9` The index14.
    `protected int[]` | `intuple` The intuple.
    `protected int[][][]` | `map` The generalization hierarchies.
    `protected int[][]` | `otherData` The sensitive values.
    `protected int` | `outindex0` The outindices.
    `protected int` | `outindex1` The outindices.
    `protected int` | `outindex10` The outindices.
    `protected int` | `outindex11` The outindices.
    `protected int` | `outindex12` The outindices.
    `protected int` | `outindex13` The outindices.
    `protected int` | `outindex14` The outindices.
    `protected int` | `outindex2` The outindices.
    `protected int` | `outindex3` The outindices.
    `protected int` | `outindex4` The outindices.
    `protected int` | `outindex5` The outindices.
    `protected int` | `outindex6` The outindices.
    `protected int` | `outindex7` The outindices.
    `protected int` | `outindex8` The outindices.
    `protected int` | `outindex9` The outindices.
    `protected int[]` | `outtuple` The outtuple.
    `protected int[]` | `snapshot` The snapshot.
    `protected int` | `ssStepWidth` The size of one snapshopt entry *.
    `protected int` | `startIndex` The start index.
    `protected int` | `stopIndex` The stop index.
    `protected StateMachine.TransitionType` | `transition` The transition.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractTransformer(int[][] data, GeneralizationHierarchy[] hierarchies, int[][] otherData, IntArrayDictionary dictionarySensValue, IntArrayDictionary dictionarySensFreq, ARXConfiguration.ARXConfigurationInternal config)` Instantiates a new abstract transformer.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HashGroupify` | `call()`
    `void` | `init(long projection, int[] state, HashGroupify groupify, HashGroupify source, int[] snapshot, StateMachine.TransitionType transition, int startIndex, int stopIndex, int bucket, HashGroupifyEntry element, int[][] buffer)` Inits the.
    `protected abstract void` | `processAll()` Process complete input dataset.
    `protected abstract void` | `processGroupify()` Process groupify.
    `protected abstract void` | `processSnapshot()` Process snapshot.
    `void` | `updateOutIndices(int[] activecolumns, long projection)` Update out indices.

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

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

- - ### Field Detail

    - #### bucket

          protected int bucket

      The bucket.

    - #### buffer

          protected int[][] buffer

      The buffer.

    - #### columnIndexArray

          protected final int[] columnIndexArray

      The column index array.

    - #### columnMapArray

          protected final int[][][] columnMapArray

      The column map array.

    - #### config

          protected final ARXConfiguration.ARXConfigurationInternal config

      The mode of operation *.

    - #### data

          protected final int[][] data

      The data.

    - #### delegate

          protected final AbstractTransformer.IGroupify delegate

      The delegate.

    - #### dictionarySensFreq

          protected final IntArrayDictionary dictionarySensFreq

      The dictionary for the snapshot compression *.

    - #### dictionarySensValue

          protected final IntArrayDictionary dictionarySensValue

      The dictionary for the snapshot compression *.

    - #### dimensions

          protected final int dimensions

      The dimensions.

    - #### element

          protected HashGroupifyEntry element

      The element.

    - #### groupifyArray

          protected HashGroupifyEntry[] groupifyArray

      The groupify array.

    - #### hierarchies

          protected final GeneralizationHierarchy[] hierarchies

      The hierarchies.

    - #### idindex0

          protected int[][] idindex0

      The idindex14.

    - #### idindex1

          protected int[][] idindex1

      The idindex14.

    - #### idindex2

          protected int[][] idindex2

      The idindex14.

    - #### idindex3

          protected int[][] idindex3

      The idindex14.

    - #### idindex4

          protected int[][] idindex4

      The idindex14.

    - #### idindex5

          protected int[][] idindex5

      The idindex14.

    - #### idindex6

          protected int[][] idindex6

      The idindex14.

    - #### idindex7

          protected int[][] idindex7

      The idindex14.

    - #### idindex8

          protected int[][] idindex8

      The idindex14.

    - #### idindex9

          protected int[][] idindex9

      The idindex14.

    - #### idindex10

          protected int[][] idindex10

      The idindex14.

    - #### idindex11

          protected int[][] idindex11

      The idindex14.

    - #### idindex12

          protected int[][] idindex12

      The idindex14.

    - #### idindex13

          protected int[][] idindex13

      The idindex14.

    - #### idindex14

          protected int[][] idindex14

      The idindex14.

    - #### index0

          protected int index0

      The index14.

    - #### index1

          protected int index1

      The index14.

    - #### index2

          protected int index2

      The index14.

    - #### index3

          protected int index3

      The index14.

    - #### index4

          protected int index4

      The index14.

    - #### index5

          protected int index5

      The index14.

    - #### index6

          protected int index6

      The index14.

    - #### index7

          protected int index7

      The index14.

    - #### index8

          protected int index8

      The index14.

    - #### index9

          protected int index9

      The index14.

    - #### index10

          protected int index10

      The index14.

    - #### index11

          protected int index11

      The index14.

    - #### index12

          protected int index12

      The index14.

    - #### index13

          protected int index13

      The index14.

    - #### index14

          protected int index14

      The index14.

    - #### intuple

          protected int[] intuple

      The intuple.

    - #### map

          protected int[][][] map

      The generalization hierarchies.

    - #### outindex0

          protected int outindex0

      The outindices.

    - #### outindex1

          protected int outindex1

      The outindices.

    - #### outindex10

          protected int outindex10

      The outindices.

    - #### outindex11

          protected int outindex11

      The outindices.

    - #### outindex12

          protected int outindex12

      The outindices.

    - #### outindex13

          protected int outindex13

      The outindices.

    - #### outindex14

          protected int outindex14

      The outindices.

    - #### outindex2

          protected int outindex2

      The outindices.

    - #### outindex3

          protected int outindex3

      The outindices.

    - #### outindex4

          protected int outindex4

      The outindices.

    - #### outindex5

          protected int outindex5

      The outindices.

    - #### outindex6

          protected int outindex6

      The outindices.

    - #### outindex7

          protected int outindex7

      The outindices.

    - #### outindex8

          protected int outindex8

      The outindices.

    - #### outindex9

          protected int outindex9

      The outindices.

    - #### outtuple

          protected int[] outtuple

      The outtuple.

    - #### otherData

          protected final int[][] otherData

      The sensitive values.

    - #### snapshot

          protected int[] snapshot

      The snapshot.

    - #### ssStepWidth

          protected final int ssStepWidth

      The size of one snapshopt entry *.

    - #### startIndex

          protected int startIndex

      The start index.

    - #### generalizationindex0

          protected int generalizationindex0

      The stateindices.

    - #### generalizationindex1

          protected int generalizationindex1

      The stateindices.

    - #### generalizationindex10

          protected int generalizationindex10

      The stateindices.

    - #### generalizationindex11

          protected int generalizationindex11

      The stateindices.

    - #### generalizationindex12

          protected int generalizationindex12

      The stateindices.

    - #### generalizationindex13

          protected int generalizationindex13

      The stateindices.

    - #### generalizationindex14

          protected int generalizationindex14

      The stateindices.

    - #### generalizationindex2

          protected int generalizationindex2

      The stateindices.

    - #### generalizationindex3

          protected int generalizationindex3

      The stateindices.

    - #### generalizationindex4

          protected int generalizationindex4

      The stateindices.

    - #### generalizationindex5

          protected int generalizationindex5

      The stateindices.

    - #### generalizationindex6

          protected int generalizationindex6

      The stateindices.

    - #### generalizationindex7

          protected int generalizationindex7

      The stateindices.

    - #### generalizationindex8

          protected int generalizationindex8

      The stateindices.

    - #### generalizationindex9

          protected int generalizationindex9

      The stateindices.

    - #### generalizationIndexArray

          protected final int[] generalizationIndexArray

      The state index array.

    - #### generalization

          protected int[] generalization

      The states.

    - #### stopIndex

          protected int stopIndex

      The stop index.

    - #### transition

          protected StateMachine.TransitionType transition

      The transition.

  - ### Constructor Detail

    - #### AbstractTransformer

          public AbstractTransformer(int[][] data,
                             GeneralizationHierarchy[] hierarchies,
                             int[][] otherData,
                             IntArrayDictionary dictionarySensValue,
                             IntArrayDictionary dictionarySensFreq,
                             ARXConfiguration.ARXConfigurationInternal config)

      Instantiates a new abstract transformer.
      Parameters:
        `data` - the data
        `hierarchies` - the hierarchies
        `otherData` -
        `dictionarySensValue` -
        `dictionarySensFreq` -
        `config` -

  - ### Method Detail

    - #### call

          public HashGroupify call()

      Specified by:
        `call` in interface `java.util.concurrent.Callable<HashGroupify>`

    - #### init

          public void init(long projection,
                  int[] state,
                  HashGroupify groupify,
                  HashGroupify source,
                  int[] snapshot,
                  StateMachine.TransitionType transition,
                  int startIndex,
                  int stopIndex,
                  int bucket,
                  HashGroupifyEntry element,
                  int[][] buffer)

      Inits the.
      Parameters:
        `projection` - the projection
        `state` - the state
        `groupify` - the groupify
        `source` - the source
        `snapshot` - the snapshot
        `transition` - the transition
        `startIndex` - the start index
        `stopIndex` - the stop index
        `bucket` - the bucket
        `element` - the element
        `buffer` - the buffer

    - #### updateOutIndices

          public void updateOutIndices(int[] activecolumns,
                              long projection)

      Update out indices.
      Parameters:
        `activecolumns` - the activecolumns
        `projection` - the projection

    - #### processAll

          protected abstract void processAll()

      Process complete input dataset.

    - #### processGroupify

          protected abstract void processGroupify()

      Process groupify.

    - #### processSnapshot

          protected abstract void processSnapshot()

      Process snapshot.