## Class Class

- java.lang.Object
- - Class

All Implemented Interfaces:
  java.io.Serializable

    public class Class
    extends java.lang.Object
    implements java.io.Serializable

Gère une classe du projet.

Author:
  V.BOULANGER
See Also:
  Serialized Form

### Field Summary

Fields
`static int` `_classId`
`static int` `CIRCLE`
`static int` `RECTANGLE`

### Constructor Summary

Constructors
Constructor and Description
`Class(int posX, int posY, int shape)` Constructeur - Crée une instance de Class.
`Class(java.lang.String name, int posX, int posY, int sizeX, int sizeY, int shape, java.util.ArrayList<Attribute> attributes, java.util.ArrayList<Method> methods)` Constructeur - Crée une instance de Class avec les paramètres déterminés.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addAttribute(Attribute a)` Ajoute un attribut à la classe.
`void` `addMethod(int index, Method m)` Ajoute une méthode à la classe.
`void` `addMethod(Method m)` Ajoute une méthode à la classe.
`void` `clearAttributes()` Supprime tous les attributs de la classe.
`void` `clearMethods()` Supprime toutes les méthodes de la classe.
`void` `computeMinSize()` Paramètre les tailles minimum de la classe sur les axes X et Y en fonction de son contenu
`boolean` `downAttribute(int index)` Faire descendre l'attribut sélectionné dans la liste.
`boolean` `downMethod(int index)` Faire descendre la méthode sélectionnée dans la liste.
`java.util.List<Attribute>` `getAttributes()` Récupère tous les attributs de la classe.
`int` `getId()` Récupère le numéro de la classe.
`java.util.List<Method>` `getMethods()` Récupère toutes les méthodes de la classe.
`int` `getMinSizeX()` Récupère la taille minimale sur l'axe X de la classe.
`int` `getMinSizeY()` Récupère la taille minimale sur l'axe Y de la classe.
`java.lang.String` `getName()` Récupère le nom de la classe.
`int` `getPosX()` Récupère la position sur l'axe X de la classe.
`int` `getPosY()` Récupère la position sur l'axe Y de la classe.
`int` `getShape()` Récupère la forme graphique de la classe.
`int` `getSizeX()` Récupère la taille sur l'axe X de la classe.
`int` `getSizeY()` Récupère la taille sur l'axe Y de la classe.
`void` `removeAttribute(int index)` Supprime un attribut de la classe.
`void` `removeMethod(int index)` Supprime une méthode de la classe.
`void` `resizeDown(int posY)` Permet de redimensionner la classe vers le bas.
`void` `resizeLeft(int posX)` Permet de redimensionner la classe vers la gauche.
`void` `resizeRight(int posX)` Permet de redimensionner la classe vers la droite.
`void` `resizeUp(int posY)` Permet de redimensionner la classe vers le haut.
`void` `setMinSizeX(int minSizeX)` Paramètre la taille minimale sur l'axe X de la classe.
`void` `setMinSizeY(int minSizeY)` Paramètre la taille minimale sur l'axe Y de la classe.
`void` `setName(java.lang.String name)` Paramètre le nom de la classe.
`void` `setPosX(int posX)` Paramètre la position sur l'axe X de la classe.
`void` `setPosY(int posY)` Paramètre la position sur l'axe Y de la classe.
`void` `setShape(int shape)` Paramètre la forme graphique de la classe.
`void` `setSizeX(int sizeX)` Paramètre la taille sur l'axe X de la classe.
`void` `setSizeY(int sizeY)` Paramètre la taille sur l'axe Y de la classe.
`boolean` `upAttribute(int index)` Faire remonter l'attribut sélectionné dans la liste.
`boolean` `upMethod(int index)` Faire remonter la méthode sélectionnée dans la liste.

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

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

### Field Detail

#### _classId

    public static int _classId

#### RECTANGLE

    public static final int RECTANGLE

See Also:
  Constant Field Values

#### CIRCLE

    public static final int CIRCLE

See Also:
  Constant Field Values

### Constructor Detail

#### Class

    public Class(int posX,
                 int posY,
                 int shape)

Constructeur - Crée une instance de Class.

Parameters:
  `posX` - La position sur l'axe X de la nouvelle classe.
  `posY` - La position sur l'axe Y de la nouvelle classe.
  `shape` - La forme de la nouvelle classe (Class.RECTANGLE ou Class.CIRCLE)

#### Class

    public Class(java.lang.String name,
                 int posX,
                 int posY,
                 int sizeX,
                 int sizeY,
                 int shape,
                 java.util.ArrayList<Attribute> attributes,
                 java.util.ArrayList<Method> methods)

Constructeur - Crée une instance de Class avec les paramètres déterminés.

Parameters:
  `name` - Le nom de la classe importée.
  `posX` - La position sur l'axe X de la classe importée.
  `posY` - La position sur l'axe Y de la classe importée.
  `sizeX` - La taille sur l'axe X de la classe importée.
  `sizeY` - La taille sur l'axe Y de la classe importée.
  `shape` - La forme de la classe importée (Class.RECTANGLE ou Class.CIRCLE).
  `attributes` - La liste des attributs de la classe importée.
  `methods` - La liste des méthodes de la classe importée.

### Method Detail

#### getId

    public int getId()

Récupère le numéro de la classe.

Returns:
  Le numéro de la classe.

#### getName

    public java.lang.String getName()

Récupère le nom de la classe.

Returns:
  Le nom de la classe.

#### setName

    public void setName(java.lang.String name)

Paramètre le nom de la classe.

Parameters:
  `name` - Le nom de la classe.

#### getPosX

    public int getPosX()

Récupère la position sur l'axe X de la classe.

Returns:
  La position sur l'axe X de la classe.

#### setPosX

    public void setPosX(int posX)

Paramètre la position sur l'axe X de la classe.

Parameters:
  `posX` - La position sur l'axe X de la classe.

#### getPosY

    public int getPosY()

Récupère la position sur l'axe Y de la classe.

Returns:
  La position sur l'axe Y de la classe.

#### setPosY

    public void setPosY(int posY)

Paramètre la position sur l'axe Y de la classe.

Parameters:
  `posY` - La position sur l'axe Y de la classe.

#### getSizeX

    public int getSizeX()

Récupère la taille sur l'axe X de la classe.

Returns:
  La taille sur l'axe X de la classe.

#### setSizeX

    public void setSizeX(int sizeX)

Paramètre la taille sur l'axe X de la classe.

Parameters:
  `sizeX` - La taille sur l'axe X de la classe.

#### getSizeY

    public int getSizeY()

Récupère la taille sur l'axe Y de la classe.

Returns:
  La taille sur l'axe Y de la classe.

#### setSizeY

    public void setSizeY(int sizeY)

Paramètre la taille sur l'axe Y de la classe.

Parameters:
  `sizeY` - La taille sur l'axe Y de la classe.

#### getMinSizeX

    public int getMinSizeX()

Récupère la taille minimale sur l'axe X de la classe.

Returns:
  La taille minimale sur l'axe X de la classe.

#### setMinSizeX

    public void setMinSizeX(int minSizeX)

Paramètre la taille minimale sur l'axe X de la classe.

Parameters:
  `minSizeX` - La taille minimale sur l'axe X de la classe.

#### getMinSizeY

    public int getMinSizeY()

Récupère la taille minimale sur l'axe Y de la classe.

Returns:
  La taille minimale sur l'axe Y de la classe.

#### setMinSizeY

    public void setMinSizeY(int minSizeY)

Paramètre la taille minimale sur l'axe Y de la classe.

Parameters:
  `minSizeY` - La taille minimale sur l'axe Y de la classe.

#### computeMinSize

    public void computeMinSize()

Paramètre les tailles minimum de la classe sur les axes X et Y en fonction de son contenu

#### getShape

    public int getShape()

Récupère la forme graphique de la classe.

Returns:
  La forme graphique de la classe (Class.RECTANGLE ou Class.CIRCLE).

#### setShape

    public void setShape(int shape)

Paramètre la forme graphique de la classe.

Parameters:
  `shape` - La forme graphique de la classe (Class.RECTANGLE ou Class.CIRCLE).

#### getAttributes

    public java.util.List<Attribute> getAttributes()

Récupère tous les attributs de la classe.

Returns:
  Les attributs de la classe.

#### addAttribute

    public void addAttribute(Attribute a)

Ajoute un attribut à la classe.

Parameters:
  `a` - L'attribut à ajouter.

#### removeAttribute

    public void removeAttribute(int index)

Supprime un attribut de la classe.

Parameters:
  `index` - L'index de l'attribut à supprimer.

#### clearAttributes

    public void clearAttributes()

Supprime tous les attributs de la classe.

#### upAttribute

    public boolean upAttribute(int index)

Faire remonter l'attribut sélectionné dans la liste.

Parameters:
  `index` - L'index de l'attribut concerné.
Returns:
  true if succeed, false if failed

#### downAttribute

    public boolean downAttribute(int index)

Faire descendre l'attribut sélectionné dans la liste.

Parameters:
  `index` - L'index de l'attribut sélectionné.
Returns:
  true : la méthode a été déplacée, false sinon.

#### getMethods

    public java.util.List<Method> getMethods()

Récupère toutes les méthodes de la classe.

Returns:
  Les méthodes de la classe.

#### addMethod

    public void addMethod(Method m)

Ajoute une méthode à la classe.

Parameters:
  `m` - La méthode à ajouter.

#### addMethod

    public void addMethod(int index,
                          Method m)

Ajoute une méthode à la classe.

Parameters:
  `m` - La méthode à ajouter.
  `index` - Le rang d'insertion.

#### removeMethod

    public void removeMethod(int index)

Supprime une méthode de la classe.

Parameters:
  `index` - L'index de la méthode à supprimer.

#### clearMethods

    public void clearMethods()

Supprime toutes les méthodes de la classe.

#### upMethod

    public boolean upMethod(int index)

Faire remonter la méthode sélectionnée dans la liste.

Parameters:
  `index` - L'index de la méthode concernée.
Returns:
  true if succeed, false if failed

#### downMethod

    public boolean downMethod(int index)

Faire descendre la méthode sélectionnée dans la liste.

Parameters:
  `index` - L'index de la méthode concernée.
Returns:
  true if succeed, false if failed

#### resizeUp

    public void resizeUp(int posY)

Permet de redimensionner la classe vers le haut.

Parameters:
  `posY` - La position en ordonnée du curseur.

#### resizeDown

    public void resizeDown(int posY)

Permet de redimensionner la classe vers le bas.

Parameters:
  `posY` - La position en ordonnée du curseur.

#### resizeLeft

    public void resizeLeft(int posX)

Permet de redimensionner la classe vers la gauche.

Parameters:
  `posX` - La position en abscisse du curseur.

#### resizeRight

    public void resizeRight(int posX)

Permet de redimensionner la classe vers la droite.

Parameters:
  `posX` - La position en abscisse du curseur.