From: <de...@us...> - 2003-11-25 12:40:28
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/association In directory sc8-pr-cvs1:/tmp/cvs-serv2981/association Modified Files: DTableHachage.java Log Message: reformat all files Index: DTableHachage.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/association/DTableHachage.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DTableHachage.java 22 Sep 2003 20:46:17 -0000 1.4 --- DTableHachage.java 25 Nov 2003 10:11:24 -0000 1.5 *************** *** 1,267 **** ! /* ! * @file DTableHachage.java ! * @creation 1998-04-16 ! * @modification $Date$ ! * @license GNU General Public License 2 ! * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne ! * @mail de...@fu... ! */ ! ! package org.fudaa.dodico.association; ! ! import org.fudaa.dodico.corba.association.ITableHachageOperations; ! import org.fudaa.dodico.corba.objet.IObjetHelper; ! import org.fudaa.dodico.corba.objet.IObjet; ! ! import org.fudaa.dodico.objet.DObjet; ! ! import java.util.Hashtable; ! import java.util.Enumeration; ! ! /** ! * Une classe implementant une table de hachage similaire a ! * <code>java.util.Hashtable</code>. ! * Les operations sont en fait deleguees a un attirbut protege de type ! * <code>java.util.Hashtable</code>. ! * ! * @version $Id$ ! * @author Guillaume Desnoix ! */ ! public class DTableHachage ! extends DObjet implements ITableHachageOperations ! { ! ! /** ! * La table de hachage utilisee. ! * @see java.util.Hashtable ! */ ! protected Hashtable v_; ! ! ! /** ! * Initialise la table de hachage interne. ! */ ! public DTableHachage() ! { ! super(); ! v_ = new Hashtable(); ! } ! ! ! /** ! * Transforme l'objet delegue corba en un objet java. ! * ! * @return Clone de la hashtable utilisee en interne. ! */ ! public Hashtable toHashtable() ! { ! return (Hashtable)(v_.clone()); ! } ! ! ! /** ! * Renvoie un chaine descriptive de l'objet. ! * ! * @return "DTableHachage(" + v_.size() + " elements)" ! */ ! public String toString() ! { ! return "DTableHachage(" + v_.size() + " elements)"; ! } ! ! ! /* ! * JDK120: ! * public void ajoute(IObjet _o) { v_.add(_o); } ! * public void vide() { v_.clear(); } ! * public boolean contient(IObjet _o) { return v_.contains(_o); } ! * public boolean estVide() { return v_.isEmpty(); } ! * public void enleve(IObjet _o) { v_.remove(_o); } ! * public int taille() { return v_.size(); } ! * public IObjet element(int _i) { return (IObjet)v_.get(_i); } ! * public void remplace(int _i, IObjet _o) { v_.set(_i,_o); } ! */ ! ! /** ! * Vide la table. ! */ ! public void vide() ! { ! v_.clear(); ! } ! ! ! /** ! * Teste la presence du IObjet <code>_o</code>. ! * ! * @param _o objet teste ! * @return true si l'objet est stocke dans la table. ! */ ! public boolean contient(IObjet _o) ! { ! return v_.contains(_o); ! } ! ! ! /** ! * Renvoie l'IObjet dont la cle correspond a <code>_key</code>. ! * ! * @param _key la cle demandee. ! * @return la valeur correspondante a la cle <code>_key</code>. ! */ ! public IObjet valeur(IObjet _key) ! { ! return IObjetHelper.narrow((org.omg.CORBA.Object)v_.get(_key)); ! } ! ! ! /** ! * Teste si la table est vide ou non. ! * ! * @return <code>true</code> si la table est vide. ! */ ! public boolean estVide() ! { ! return v_.isEmpty(); ! } ! ! ! /** ! * Enleve de la table l'Iobjet <code>_c</code> ! * ! * @param _c l'Iobjet a enlever ! */ ! public void enleve(IObjet _c) ! { ! v_.remove(_c); ! } ! ! ! /** ! * Renvoie la taille da la table. ! * ! * @return nombre d'elements stockes dans la table. ! */ ! public int taille() ! { ! return v_.size(); ! } ! ! ! /** ! * Affecte la valeur <code>_val</code> pour la cle <code>_key</code>. ! * ! * @param _key la cle concernee. ! * @param _val la nouvelle valeur pour la cle <code>_key</code>. ! */ ! public void place(IObjet _key, IObjet _val) ! { ! v_.put(_key, _val); ! } ! ! ! /** ! * Les valeurs de la table de hachage (les objets obtenus par la methode ! * <code>elements()</code> de <code>java.util.Hashtable</code>). ! * ! * @return Toutes les valeurs (elements) sotckées dans la table. ! */ ! public IObjet[] valeurs() ! { ! // JDK120: return (IObjet[])(v.toArray()); ! ! int i; ! Enumeration e; ! ! Object[] o = new Object[v_.size()]; ! ! for(i = 0, e = v_.elements(); e.hasMoreElements(); i++) ! { ! o[i] = e.nextElement(); ! } ! ! IObjet[] r = new IObjet[o.length]; ! for(i = 0; i < o.length; i++) ! { ! r[i] = (IObjet)o[i]; ! } ! return r; ! } ! ! ! /** ! * Renvoie les clefs de la table de hachage sous forme d'un tableau d'IObjets. ! * ! * @return java.util.Hashtable.keys() ! */ ! public IObjet[] clefs() ! { ! int i; ! Enumeration e; ! ! Object[] o = new Object[v_.size()]; ! ! for(i = 0, e = v_.keys(); e.hasMoreElements(); i++) ! { ! o[i] = e.nextElement(); ! } ! ! IObjet[] r = new IObjet[o.length]; ! for(i = 0; i < o.length; i++) ! { ! r[i] = (IObjet)o[i]; ! } ! return r; ! } ! ! ! /** ! * Renvoie toutes les donnees de la table dans un tableau de IObjet dont ! chaque ligne est composee de la facon suivante: ! * <br>colonne 0: la cle ! * <br>colonne 1: la valeur correspondante. ! * ! * @return tableau contenant les cles et les valeurs coorespondantes de la ! * Hashtable. ! */ ! public IObjet[][] paires() ! { ! int i; ! Enumeration e; ! ! Object[][] o = new Object[v_.size()][2]; ! ! for(i = 0, e = v_.keys(); e.hasMoreElements(); i++) ! { ! o[i][0] = e.nextElement(); ! o[i][1] = v_.get(o[i][0]); ! } ! ! IObjet[][] r = new IObjet[o.length][2]; ! for(i = 0; i < o.length; i++) ! { ! r[i][0] = IObjetHelper.narrow((org.omg.CORBA.Object)o[i][0]); ! r[i][1] = IObjetHelper.narrow((org.omg.CORBA.Object)o[i][1]); ! } ! return r; ! } ! ! ! /** ! * Vide la table et affecte chaque ligne de <code>_p</code> dans la table en ! * prenant la premiere colonne comme cle et la deuxieme comme valeur ! * associee. ! * ! * @param _p les nouvelles cles et valeurs a affecter a la table. ! */ ! public void paires(IObjet[][] _p) ! { ! vide(); ! for(int i = 0; i < _p.length; i++) ! { ! place(_p[i][0], _p[i][1]); ! } ! } ! } ! ! --- 1,197 ---- ! /* ! * @file DTableHachage.java ! * @creation 1998-04-16 ! * @modification $Date$ ! * @license GNU General Public License 2 ! * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne ! * @mail de...@fu... ! */ ! package org.fudaa.dodico.association; ! import org.fudaa.dodico.corba.association.ITableHachageOperations; ! import org.fudaa.dodico.corba.objet.IObjetHelper; ! import org.fudaa.dodico.corba.objet.IObjet; ! import org.fudaa.dodico.objet.DObjet; ! import java.util.Hashtable; ! import java.util.Enumeration; ! /** ! * Une classe implementant une table de hachage similaire a ! * <code>java.util.Hashtable</code>. ! * Les operations sont en fait deleguees a un attirbut protege de type ! * <code>java.util.Hashtable</code>. ! * ! * @version $Id$ ! * @author Guillaume Desnoix ! */ ! public class DTableHachage extends DObjet implements ITableHachageOperations { ! /** ! * La table de hachage utilisee. ! * @see java.util.Hashtable ! */ ! protected Hashtable v_; ! /** ! * Initialise la table de hachage interne. ! */ ! public DTableHachage() { ! super(); ! v_= new Hashtable(); ! } ! /** ! * Transforme l'objet delegue corba en un objet java. ! * ! * @return Clone de la hashtable utilisee en interne. ! */ ! public Hashtable toHashtable() { ! return (Hashtable) (v_.clone()); ! } ! /** ! * Renvoie un chaine descriptive de l'objet. ! * ! * @return "DTableHachage(" + v_.size() + " elements)" ! */ ! public String toString() { ! return "DTableHachage(" + v_.size() + " elements)"; ! } ! /* ! * JDK120: ! * public void ajoute(IObjet _o) { v_.add(_o); } ! * public void vide() { v_.clear(); } ! * public boolean contient(IObjet _o) { return v_.contains(_o); } ! * public boolean estVide() { return v_.isEmpty(); } ! * public void enleve(IObjet _o) { v_.remove(_o); } ! * public int taille() { return v_.size(); } ! * public IObjet element(int _i) { return (IObjet)v_.get(_i); } ! * public void remplace(int _i, IObjet _o) { v_.set(_i,_o); } ! */ ! /** ! * Vide la table. ! */ ! public void vide() { ! v_.clear(); ! } ! /** ! * Teste la presence du IObjet <code>_o</code>. ! * ! * @param _o objet teste ! * @return true si l'objet est stocke dans la table. ! */ ! public boolean contient(IObjet _o) { ! return v_.contains(_o); ! } ! /** ! * Renvoie l'IObjet dont la cle correspond a <code>_key</code>. ! * ! * @param _key la cle demandee. ! * @return la valeur correspondante a la cle <code>_key</code>. ! */ ! public IObjet valeur(IObjet _key) { ! return IObjetHelper.narrow((org.omg.CORBA.Object)v_.get(_key)); ! } ! /** ! * Teste si la table est vide ou non. ! * ! * @return <code>true</code> si la table est vide. ! */ ! public boolean estVide() { ! return v_.isEmpty(); ! } ! /** ! * Enleve de la table l'Iobjet <code>_c</code> ! * ! * @param _c l'Iobjet a enlever ! */ ! public void enleve(IObjet _c) { ! v_.remove(_c); ! } ! /** ! * Renvoie la taille da la table. ! * ! * @return nombre d'elements stockes dans la table. ! */ ! public int taille() { ! return v_.size(); ! } ! /** ! * Affecte la valeur <code>_val</code> pour la cle <code>_key</code>. ! * ! * @param _key la cle concernee. ! * @param _val la nouvelle valeur pour la cle <code>_key</code>. ! */ ! public void place(IObjet _key, IObjet _val) { ! v_.put(_key, _val); ! } ! /** ! * Les valeurs de la table de hachage (les objets obtenus par la methode ! * <code>elements()</code> de <code>java.util.Hashtable</code>). ! * ! * @return Toutes les valeurs (elements) sotckées dans la table. ! */ ! public IObjet[] valeurs() { ! // JDK120: return (IObjet[])(v.toArray()); ! int i; ! Enumeration e; ! Object[] o= new Object[v_.size()]; ! for (i= 0, e= v_.elements(); e.hasMoreElements(); i++) { ! o[i]= e.nextElement(); ! } ! IObjet[] r= new IObjet[o.length]; ! for (i= 0; i < o.length; i++) { ! r[i]= (IObjet)o[i]; ! } ! return r; ! } ! /** ! * Renvoie les clefs de la table de hachage sous forme d'un tableau d'IObjets. ! * ! * @return java.util.Hashtable.keys() ! */ ! public IObjet[] clefs() { ! int i; ! Enumeration e; ! Object[] o= new Object[v_.size()]; ! for (i= 0, e= v_.keys(); e.hasMoreElements(); i++) { ! o[i]= e.nextElement(); ! } ! IObjet[] r= new IObjet[o.length]; ! for (i= 0; i < o.length; i++) { ! r[i]= (IObjet)o[i]; ! } ! return r; ! } ! /** ! * Renvoie toutes les donnees de la table dans un tableau de IObjet dont ! chaque ligne est composee de la facon suivante: ! * <br>colonne 0: la cle ! * <br>colonne 1: la valeur correspondante. ! * ! * @return tableau contenant les cles et les valeurs coorespondantes de la ! * Hashtable. ! */ ! public IObjet[][] paires() { ! int i; ! Enumeration e; ! Object[][] o= new Object[v_.size()][2]; ! for (i= 0, e= v_.keys(); e.hasMoreElements(); i++) { ! o[i][0]= e.nextElement(); ! o[i][1]= v_.get(o[i][0]); ! } ! IObjet[][] r= new IObjet[o.length][2]; ! for (i= 0; i < o.length; i++) { ! r[i][0]= IObjetHelper.narrow((org.omg.CORBA.Object)o[i][0]); ! r[i][1]= IObjetHelper.narrow((org.omg.CORBA.Object)o[i][1]); ! } ! return r; ! } ! /** ! * Vide la table et affecte chaque ligne de <code>_p</code> dans la table en ! * prenant la premiere colonne comme cle et la deuxieme comme valeur ! * associee. ! * ! * @param _p les nouvelles cles et valeurs a affecter a la table. ! */ ! public void paires(IObjet[][] _p) { ! vide(); ! for (int i= 0; i < _p.length; i++) { ! place(_p[i][0], _p[i][1]); ! } ! } ! } |