# Class CanonicalCode

java.lang.Object
fr.iutfbleau.sae.mhuffman.CanonicalCode

public class CanonicalCode extends Object
Classe pour generer des codes canoniques de Huffman. Les codes canoniques sont des codes de Huffman reorganises pour faciliter la compression et le decodage.

## Constructor Summary

Constructors
Constructor
Description
`CanonicalCode()`

## Method Summary

Modifier and Type
Method
Description
`Map<Integer,String>`
`generateCodes(Map<Integer,String> codesHuffman)`
Genere des codes canoniques a partir de codes de Huffman.
`String`
`getCode(Map<Integer,String> canonicalCodes, int value)`
Recupere le code canonique d'une valeur.
`int`
`getLength(Map<Integer,String> codesH, int value)`
Recupere la longueur d'un code pour une valeur donnee.

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

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

## Constructor Details

### CanonicalCode

public CanonicalCode()

## Method Details

### generateCodes

public Map<Integer,String> generateCodes(Map<Integer,String> codesHuffman)
Genere des codes canoniques a partir de codes de Huffman.

Parameters:
  `codesHuffman` - les codes de Huffman initiaux
Returns:
  les codes canoniques generes

### getCode

public String getCode(Map<Integer,String> canonicalCodes, int value)
Recupere le code canonique d'une valeur.

Parameters:
  `canonicalCodes` - la table des codes canoniques
  `value` - la valeur dont on veut le code
Returns:
  le code canonique correspondant

### getLength

public int getLength(Map<Integer,String> codesH, int value)
Recupere la longueur d'un code pour une valeur donnee.

Parameters:
  `codesH` - la table des codes
  `value` - la valeur dont on veut la longueur
Returns:
  la longueur du code en bits