Package sudoku.structure

# Class Cell

java.lang.Object
sudoku.structure.Cell

public class Cell extends Object
Représente une case d'un, ou plusieurs, sudoku qui à comme valeur un index de symbole. Celui ci pourra être remplacer par un symbole en temps voulu.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static int`
  `NOSYMBOL`
  Constante de valeur d'index de symbole quand il n'y en a pas, soit que la Cell est vide.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Cell()`
  `Cell(int symbolIndex)`
  `Cell(int symbolIndex, boolean isMutable)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `canHaveValue(int value)`
  Vérifie si la Cell peut prendre ce symbole par rapport aux contraintes de ses Sudokus.
  `void`
  `clearCurrentSymbol()`
  Vide la Cell.
  `int`
  `empty()`
  Vide la Cell, en renvoie l'ancien index du symbole qui était dedans.
  `Block`
  `getBlock()`
  Renvoie le Block qui la contient.
  `List<Integer>`
  `getPossibleSymbols()`
  Renvoie les symboles que peut prendre cette Cell par rapport aux contraintes de ses Sudokus.
  `int`
  `getSymbolIndex()`
  `boolean`
  `isEmpty()`
  Renvoie si la Cell est vide ou non.
  `boolean`
  `isMutable()`
  Renvoie si la Cell est modifiable
  `void`
  `setBlock(Block block)`
  `void`
  `setImmutable()`
  Rend la Cell immuable.
  `void`
  `setSymbolIndex(int symbolIndex)`
  `boolean`
  `trySetValue(int newValue)`
  Essaye de placer la valeur et renvoie false si ce n'est pas possible.

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

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

- ## Field Details

  - ### NOSYMBOL

    public static int NOSYMBOL
    Constante de valeur d'index de symbole quand il n'y en a pas, soit que la Cell est vide.

- ## Constructor Details

  - ### Cell

    public Cell()

  - ### Cell

    public Cell(int symbolIndex)

  - ### Cell

    public Cell(int symbolIndex, boolean isMutable)

- ## Method Details

  - ### getSymbolIndex

    public int getSymbolIndex()

  - ### getBlock

    public Block getBlock()
    Renvoie le Block qui la contient.
    Returns:
      Block.

  - ### isMutable

    public boolean isMutable()
    Renvoie si la Cell est modifiable
    Returns:
      boolean, true si elle est modifiable ou false sinon.

  - ### setSymbolIndex

    public void setSymbolIndex(int symbolIndex)

  - ### setImmutable

    public void setImmutable()
    Rend la Cell immuable.

  - ### setBlock

    public void setBlock(Block block)

  - ### clearCurrentSymbol

    public void clearCurrentSymbol()
    Vide la Cell.

  - ### isEmpty

    public boolean isEmpty()
    Renvoie si la Cell est vide ou non.
    Returns:
      boolean, true si la Cell est vide, false sinon.

  - ### empty

    public int empty()
    Vide la Cell, en renvoie l'ancien index du symbole qui était dedans.
    Returns:
      int, index du symbole anciennement contenue dans la Cell.

  - ### canHaveValue

    public boolean canHaveValue(int value)
    Vérifie si la Cell peut prendre ce symbole par rapport aux contraintes de ses Sudokus.
    Parameters:
      `value` - int, index du symbole
    Returns:
      boolean, true si elle peut, false sinon.

  - ### getPossibleSymbols

    public List<Integer> getPossibleSymbols()
    Renvoie les symboles que peut prendre cette Cell par rapport aux contraintes de ses Sudokus.
    Returns:
      List~Integer~, la liste des symboles possibles.

  - ### trySetValue

    public boolean trySetValue(int newValue)
    Essaye de placer la valeur et renvoie false si ce n'est pas possible.
    Parameters:
      `newValue` - int, valeur à placer.
    Returns:
      boolean, true si la Cell à pris la valeur newValue, false sinon.