ui.listener
Class PerkinsNotifier

java.lang.Object
  extended by ui.listener.PerkinsNotifier
All Implemented Interfaces:
java.awt.event.KeyListener, java.util.EventListener

public class PerkinsNotifier
extends java.lang.Object
implements java.awt.event.KeyListener

This class is a Perkins input observer It notifies registered objects and send them the converted char

Author:
bruno

Field Summary
static int FILE_NOT_VALID
          Braille table file not valid code
private  java.util.ArrayList<PerkinsObserver> jcPerkinsObserver
          Abonnés à la saisie Perkins MUST extends JComponent Perkins Observers
protected  int nbTouches
          nombre de touches pressées lors d'une saisie perkins
protected  java.util.HashMap<java.lang.String,java.lang.String> ptPerkins
          HashTable pour la correspondance entre les caractères braille saisis en mode perkins et leur représentation dans la table braille
protected  int res
          Code du caractère produit par la saisie Perkins Perkins char code result
protected  java.lang.String tableBraille
          table braille à utiliser pour la saisie perkins
protected  boolean[] tabPoint
          tableau destiné à recevoir les codes perkins
 
Constructor Summary
PerkinsNotifier()
          Default constructor The braille table is the
PerkinsNotifier(java.lang.String bt)
          Constructor that sets up tableBraille by calling setTableBraille(String)
 
Method Summary
 void addAll(java.util.ArrayList<PerkinsObserver> l)
          Adds all PerkinsObserver in jcPerkinsObserver and restore the input map of each component
 boolean addPerkinsObserver(PerkinsObserver po)
          Adds a PerkinsObserver to jcPerkinsObserver po MUST implements PerkinsObserver and MUST be a child of JComponent
private  java.lang.String convertitPoint2Int(java.lang.String s)
          Outil de conversion des entités 123456 par la notation "binaire"
 java.util.HashMap<java.lang.String,java.lang.String> getPtPerkins()
           
protected  boolean initialiseMap()
          Initialise la HashMap d'équivalence entre les entités de la forme &pt123456; et leur valeur en binaire.
 boolean initialiseMap(java.lang.String fichierTable, java.util.HashMap<java.lang.String,java.lang.String> table)
          Initialise une HashMap d'équivalence entre les entités de la forme &pt123456; et leur valeur en binaire
 void keyPressed(java.awt.event.KeyEvent e)
          Méthode redéfinie de KeyListener Gère la navigation L'affichage est réalisé dans la méthode keyReleased
 void keyReleased(java.awt.event.KeyEvent e)
          Méthode redéfinie de KeyListener Gère la saisie en mode Perkins Réalise l'affichage du caractère braille dans le JTextPane resultat
 void keyTyped(java.awt.event.KeyEvent e)
          Méthode redéfinie de KeyListener ne fait rien
 void removeAllPerkinsObserver()
          Removes all PerkinsObserver in jcPerkinsObserver and restore the input map of each component
 boolean removePerkinsObserver(PerkinsObserver po)
          Removes a PerkinsObserver to jcPerkinsObserver
private  void restoreMap(javax.swing.JComponent jc)
          rétablissement de l'action par défaut associée aux touches de la saisie perkins
private  void sendError(int errorCode, java.lang.String message)
          Notifies listener that an error occured
private  void setPerkinsMap(javax.swing.JComponent jc)
          Sets the Perkins Input Map for the component jc
 void setTableBraille(java.lang.String tb)
          Méthode d'accès, indique le nom de la table braille à utiliser Modifie ensuite la map ptPerkins
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FILE_NOT_VALID

public static final int FILE_NOT_VALID
Braille table file not valid code

See Also:
Constant Field Values

tabPoint

protected boolean[] tabPoint
tableau destiné à recevoir les codes perkins


nbTouches

protected int nbTouches
nombre de touches pressées lors d'une saisie perkins


tableBraille

protected java.lang.String tableBraille
table braille à utiliser pour la saisie perkins


ptPerkins

protected java.util.HashMap<java.lang.String,java.lang.String> ptPerkins
HashTable pour la correspondance entre les caractères braille saisis en mode perkins et leur représentation dans la table braille


res

protected int res
Code du caractère produit par la saisie Perkins Perkins char code result


jcPerkinsObserver

private java.util.ArrayList<PerkinsObserver> jcPerkinsObserver
Abonnés à la saisie Perkins MUST extends JComponent Perkins Observers

Constructor Detail

PerkinsNotifier

public PerkinsNotifier()
Default constructor The braille table is the


PerkinsNotifier

public PerkinsNotifier(java.lang.String bt)
                throws java.lang.NumberFormatException,
                       java.io.IOException
Constructor that sets up tableBraille by calling setTableBraille(String)

Parameters:
bt - the braille table to be used
Throws:
java.io.IOException - problème d'entrée sortie avec le fichier table braille
java.lang.NumberFormatException - problème de conversion des données du fichier table braille
Method Detail

addPerkinsObserver

public boolean addPerkinsObserver(PerkinsObserver po)
Adds a PerkinsObserver to jcPerkinsObserver po MUST implements PerkinsObserver and MUST be a child of JComponent

Parameters:
po - the PerkinsObserver to be added
Returns:
true if success

addAll

public void addAll(java.util.ArrayList<PerkinsObserver> l)
Adds all PerkinsObserver in jcPerkinsObserver and restore the input map of each component

Parameters:
l - the PerkinsObserver list

removePerkinsObserver

public boolean removePerkinsObserver(PerkinsObserver po)
Removes a PerkinsObserver to jcPerkinsObserver

Parameters:
po - the PerkinsObserver to be removed
Returns:
true if success

removeAllPerkinsObserver

public void removeAllPerkinsObserver()
Removes all PerkinsObserver in jcPerkinsObserver and restore the input map of each component


setPerkinsMap

private void setPerkinsMap(javax.swing.JComponent jc)
Sets the Perkins Input Map for the component jc

Parameters:
jc - the component to be set

restoreMap

private void restoreMap(javax.swing.JComponent jc)
rétablissement de l'action par défaut associée aux touches de la saisie perkins

Parameters:
jc - the JComponent to be restored

setTableBraille

public void setTableBraille(java.lang.String tb)
                     throws java.lang.NumberFormatException,
                            java.io.IOException
Méthode d'accès, indique le nom de la table braille à utiliser Modifie ensuite la map ptPerkins

Parameters:
tb - valeur pour tableBraille
Throws:
java.io.IOException - problème d'entrée sortie avec le fichier table braille
java.lang.NumberFormatException - problème de conversion des données du fichier table braille

initialiseMap

protected boolean initialiseMap()
                         throws java.lang.NumberFormatException,
                                java.io.IOException
Initialise la HashMap d'équivalence entre les entités de la forme &pt123456; et leur valeur en binaire. Fait appel à initialiseMap(String, HashMap) avec comme paramètre tableBraille pour la table braille et ptPerkins pour la Hashtable

Returns:
true si succès, false si erreut lors du chargement
Throws:
java.io.IOException - problème d'entrée sortie avec le fichier table braille
java.lang.NumberFormatException - problème de conversion des données du fichier table braille

initialiseMap

public boolean initialiseMap(java.lang.String fichierTable,
                             java.util.HashMap<java.lang.String,java.lang.String> table)
                      throws java.io.IOException,
                             java.lang.NumberFormatException
Initialise une HashMap d'équivalence entre les entités de la forme &pt123456; et leur valeur en binaire

Parameters:
fichierTable - adresse de la table braille à utiliser
table - la Hashtable cible
Returns:
true si succès, false si erreur lors du chargement
Throws:
java.io.IOException - problème d'entrée sortie avec le fichier table braille
java.lang.NumberFormatException - problème de conversion des données du fichier table braille
java.lang.NumberFormatException - problème lors de la conversion des entités, la table ne doit pas être valide

sendError

private void sendError(int errorCode,
                       java.lang.String message)
Notifies listener that an error occured

Parameters:
errorCode - the error code (should be a constant of this class)
message - the error message

convertitPoint2Int

private java.lang.String convertitPoint2Int(java.lang.String s)
Outil de conversion des entités 123456 par la notation "binaire"

Parameters:
s - La chaine d'origine sous forme 123456
Returns:
Une chaine représentant l'entier en base 10 obtenu par conversion binaire

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Méthode redéfinie de KeyListener Gère la navigation L'affichage est réalisé dans la méthode keyReleased

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
e - L'objet KeyEvent intercepté

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Méthode redéfinie de KeyListener Gère la saisie en mode Perkins Réalise l'affichage du caractère braille dans le JTextPane resultat

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
e - L'objet KeyEvent intercepté

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Méthode redéfinie de KeyListener ne fait rien

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e - Le KeyEvent

getPtPerkins

public java.util.HashMap<java.lang.String,java.lang.String> getPtPerkins()
Returns:
the hasmap ptPerkins