<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Le coin du petit Jisser</title>
	<atom:link href="http://jisser.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jisser.wordpress.com</link>
	<description>Du code au spaghetti, il n&#039;y a qu&#039;un pas.</description>
	<lastBuildDate>Wed, 28 Apr 2010 14:30:02 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='jisser.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Le coin du petit Jisser</title>
		<link>http://jisser.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jisser.wordpress.com/osd.xml" title="Le coin du petit Jisser" />
	<atom:link rel='hub' href='http://jisser.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Les Interfaces</title>
		<link>http://jisser.wordpress.com/2010/04/28/les-interfaces/</link>
		<comments>http://jisser.wordpress.com/2010/04/28/les-interfaces/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 14:30:02 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[310-065]]></category>
		<category><![CDATA[convention]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[regle]]></category>
		<category><![CDATA[scjp]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=248</guid>
		<description><![CDATA[Je ne parlerais pas des interfaces graphiques mais des interfaces de java qui permettent de définir un &#8220;contrat&#8221;. Une classe qui veut implémenter une interface se doit donc proposer une implémentation pour chacune des méthodes défini dans l&#8217;interface. Comme le but de cette série d&#8217;article n&#8217;est pas d&#8217;apprendre à développer en java, je vais passer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=248&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Je ne parlerais pas des interfaces graphiques mais des interfaces de java qui permettent de définir un &#8220;contrat&#8221;. Une classe qui veut implémenter une interface se doit donc proposer une implémentation pour chacune des méthodes défini dans l&#8217;interface. Comme le but de cette série d&#8217;article n&#8217;est pas d&#8217;apprendre à développer en java, je vais passer directement à ce qu&#8217;il est nécessaire de savoir pour passez la certification scjp.</p>
<p>Dans une interface les méthodes déclarées sont implicitement public et abstract donc si vous écrivez :<br />
<code>void clonable();</code><br />
le compilateur traduira par :<br />
<code>public abstract void clonable();</code><br />
Les 2 notations sont valides et vous pouvez même faire des variantes (inutiles) :<br />
<code>abstract void clonable();<br />
public void clonable();</code></p>
<p>Et pour finir voici le récapitulatif règles pour qu&#8217;une interface soit correcte :</p>
<ul>
<li> Les variables(qui sont en faite des constantes) d&#8217;une interface doivent être public,final et static.</li>
<li>Les méthodes ne peuvent être ni static, ni final, ni private.</li>
<li>Une interface peut étendre (extend) seulement d&#8217;autres interfaces et ne peut pas en implémenter (implements).</li>
<li>Pour les variables déclarés dans une interface il est conseillé d&#8217;utilisé la notation des constante (CONSTANTE_PATATE).</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/248/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=248&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2010/04/28/les-interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>
	</item>
		<item>
		<title>La déclaration des classes en détail</title>
		<link>http://jisser.wordpress.com/2010/04/22/la-declaration-des-classes-en-detail/</link>
		<comments>http://jisser.wordpress.com/2010/04/22/la-declaration-des-classes-en-detail/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 10:37:58 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[310-065]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[convention]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[regle]]></category>
		<category><![CDATA[scjp]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=223</guid>
		<description><![CDATA[Pour commencer voici les 4 points clés communs à la déclaration des classes, qu&#8217;elles soient concrète,  abstraite, et des classes spécifiques de type enum : Une seul classe publique par fichier source. S&#8217;il le fichier source contient une classe publique alors leur nom doivent être identique (public Class Patate {} -&#62; Patate.java). S&#8217;il la classe [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=223&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Pour commencer voici les 4 points clés communs à la déclaration des classes, qu&#8217;elles soient concrète,  abstraite, et des classes spécifiques de type enum :</strong></p>
<ol>
<li>Une seul classe publique par fichier source.</li>
<li>S&#8217;il le fichier source contient une classe publique alors leur nom doivent être identique (public Class Patate {} -&gt; Patate.java).</li>
<li>S&#8217;il la classe appartient à un package alors il sera déclaré en premier.</li>
<li>Les imports doivent être declarés entre le package (s&#8217;il est défini) et la déclaration de la classe.</li>
</ol>
<p>Note : Pour le choix du nom du package, Sun préconise l&#8217;utilisation des noms de domaine inversé (com.jisser.programme.action).</p>
<p><strong>Il existe 2 variétés de modificateur de classes, les modificateurs d&#8217;accès (visibilité) et les autres ceux qui ne modifient pas l&#8217;accès.</strong></p>
<p><strong>Il y a 4 modificateurs d&#8217;accès pour les classes.</strong></p>
<ul>
<li>public : pas de limitation d&#8217;accès à la classe, elle est accessible depuis n&#8217;importe quelle autre classe de n&#8217;importe quel package.</li>
<li>default (quand rien n&#8217;est précisé lors de la déclaration ) : Limite la visibilité de la classe au package auquel elle appartient.</li>
<li>protected et private : ne sont pas utilisé que dans des cas particuliers comme les classes internes.</li>
</ul>
<p><strong>Ensuite il reste les modificateurs final, abstract, strictfp :</strong></p>
<ul>
<li>strictfp : permet de spécifier que cette classe est conforme à la norme IEEE 754, afin que les nombres à virgule flottante soit indépendant de la plateforme.</li>
<li>final : son utilisation est plutôt rare. Il permet de bloquer la possibilité d&#8217;héritage sur une classe. Donc une classe final ne pourra jamais être modifié ca permet de s&#8217;assurer que personne ne pourra redéfinir ou étendre le comportement de la classe.</li>
<li>abstract : une classe abstraite ne peut pas être instanciée. Elle doit être étendue. La classe abstraite Patate pourrait être étendu par PatateCharlotte. Une classe doit être marquée abstraite si au moins une de ses méthodes est aussi marquée abstraite.</li>
</ul>
<p>Note : il est impossible d&#8217;avoir une classe avec les modificateurs final et abstract en même temps.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/223/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=223&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2010/04/22/la-declaration-des-classes-en-detail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>
	</item>
		<item>
		<title>Regles et conventions de nommage</title>
		<link>http://jisser.wordpress.com/2010/04/20/regles-et-conventions-de-nommage/</link>
		<comments>http://jisser.wordpress.com/2010/04/20/regles-et-conventions-de-nommage/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 12:48:40 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[310-065]]></category>
		<category><![CDATA[convention]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[nommage]]></category>
		<category><![CDATA[regle]]></category>
		<category><![CDATA[scjp]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=224</guid>
		<description><![CDATA[Pour préparer la certification scjp, j&#8217;ai décidé de faire une série d&#8217;articles qui aborderont brièvement les points à connaître. Un peu comme les fiches de révision des étudiants&#8230; Règles pour les noms des classes, interfaces, méthodes et variables : ne doivent pas être un mot-clefs (example : try, new, enum, &#8230;) ne doivent pas commencer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=224&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Pour préparer la certification <a href="http://in.sun.com/training/certification/java/scjp.xml">scjp</a>, j&#8217;ai décidé de faire une série d&#8217;articles qui aborderont brièvement les points à connaître. Un peu comme les fiches de révision des étudiants&#8230;</p>
<p>Règles pour les noms des classes, interfaces, méthodes et variables :</strong></p>
<ul>
<li> ne doivent pas être un mot-clefs (example : try, new, enum, &#8230;)</li>
<li> ne doivent pas commencer par un caractère spécial (sauf _ ou un caractère de devise comme $) ou un chiffre.</li>
</ul>
<p>Note : La convention de sun est disponible <a href="http://java.sun.com/docs/codeconv/">ici</a> pour les courageux.</p>
<p><strong>Pour le nommage des classes :</strong></p>
<ul>
<li>il est recommandé d&#8217;utiliser un nom (Patate,Facture,&#8230;).</li>
<li>il faut mettre la première lettre de chaque mot en majuscule (Patate,FactureEau,&#8230;).</li>
</ul>
<p><strong>Pour les interfaces :</strong></p>
<ul>
<li>il est recommandé d&#8217;utiliser un adverbe (Comparable, Clonable, &#8230;).</li>
<li>il  faut mettre la première lettre de chaque mot en majuscule  (Patate,FactureEau,&#8230;).</li>
</ul>
<p><strong>Pour le nommage des méthodes :</strong></p>
<ul>
<li>il est recommandé d&#8217;utiliser un verbe plus un nom (getPrix,setType, &#8230;).</li>
<li>il faut commencer par une lettre en minuscule puis mettre la première lettre de chaque mot en majuscule (getPrixEau, &#8230;).</li>
</ul>
<p><strong>Pour le nommage des variables :</strong></p>
<ul>
<li>il faut commencer par une lettre en minuscule puis mettre la  première lettre de chaque mot en majuscule (prixEau, varietePatate).</li>
</ul>
<p><strong>Pour le nommage des constantes :</strong></p>
<ul>
<li>on utilise seulement des caractères en majuscule (CATEGORIE_A, &#8230;).</li>
<li>on utilise le caractère _ comme séparateur (TYPE_COLOR_RGBA, TYPE_COLOR_GRAY).</li>
</ul>
<p><strong>Voila nous avons fait le tour des principales régles et conventions rien de très compliqué a retenir.<strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/224/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/224/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/224/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=224&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2010/04/20/regles-et-conventions-de-nommage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>
	</item>
		<item>
		<title>Design Pattern Observer</title>
		<link>http://jisser.wordpress.com/2009/10/23/design-pattern-observer/</link>
		<comments>http://jisser.wordpress.com/2009/10/23/design-pattern-observer/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 12:44:36 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=211</guid>
		<description><![CDATA[A quoi sert le design pattern observer (Observé/Observateur) ? Concretement ça permet à l&#8217;objet Observé d&#8217;informer les Observateurs lorsqu&#8217;il y a un changement. Oui mais pourquoi l&#8217;utiliser ? Ca évite de faire de &#8220;l&#8217;attente active&#8221;, du coup pas consommation inutile des ressources pour aller verifier qu&#8217;il y a bien eu un changement. En plus c&#8217;est [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=211&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span>A quoi sert le design pattern observer (Observé/Observateur) ?<br />
Concretement ça permet à l&#8217;objet Observé d&#8217;informer les Observateurs lorsqu&#8217;il y a un changement.<br />
Oui mais pourquoi l&#8217;utiliser ?<br />
Ca évite de faire de &#8220;l&#8217;attente active&#8221;, du coup pas consommation inutile des ressources pour aller verifier qu&#8217;il y a bien eu un changement.<br />
En plus c&#8217;est propre et déjâ implémenter en java.</p>
<pre><span style="line-height:8pt;font-size:7.5pt;">
//Fichier ChronoObservable.java
import java.util.Observable;

public class ChronoObservable extends Observable {
  private long time;

  public ChronoObservable() {
    super();
  }

//setTime met à jour l'attribut time ensuite il passe en état "Changed" et informe les observateurs avec notifyObservers().
//note : si vous utilisez notifyObservers() sans setChanged() cela n'aura aucun effet.
  public void setTime() {
    this.time = System.currentTimeMillis();
    this.setChanged();
    this.notifyObservers();
  }

  public long getTime() {
    return time;
  }
}
//Fin de Fichier

//Fichier AfficherChrono.java
import java.util.Observable;
import java.util.Observer;

public class AfficherChrono implements Observer {

  //la méthode update est éxécutée lors de la récéption d'une notification d'un objet Observé
  public void update(Observable o, Object arg) {
    System.out.println("changement du chrono");
  }

  public static void main(String[] args) {
    AfficherChrono Afficher = new AfficherChrono();
    ChronoObservable Chrono = new ChronoObservable();
    //On ajoute un observateur à la liste des observateurs du ChronoObservable.
    Chrono.addObserver(Afficher);

    //petite boucle pas trop utile pour montrer que les appels à setTime() éxécutent bien la méthode update de l'observateur.
    for (int i=0;i&lt;=100;i++) {
      try {
        Thread.sleep(200);
      } catch (Exception e) {
        e.printStackTrace();
      }
      Chrono.setTime();
    }
  }
}
//Fin de Fichier
</span></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/211/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=211&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2009/10/23/design-pattern-observer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>
	</item>
		<item>
		<title>Changement de décors</title>
		<link>http://jisser.wordpress.com/2009/10/20/changement-de-decors/</link>
		<comments>http://jisser.wordpress.com/2009/10/20/changement-de-decors/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 09:50:07 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=208</guid>
		<description><![CDATA[Hop je fais une tentative de résurection de mon bac à sable. Première étape changement de thème pour améliorer la lisibilité. Deuxieme étape publier !<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=208&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hop je fais une tentative de résurection de mon bac à sable.<br />
Première étape changement de thème pour améliorer la lisibilité.<br />
Deuxieme étape publier !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/208/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=208&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2009/10/20/changement-de-decors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>
	</item>
		<item>
		<title>Micro Projet Hiragana (v0.09)</title>
		<link>http://jisser.wordpress.com/2009/03/24/micro-projet-hiragana-v009/</link>
		<comments>http://jisser.wordpress.com/2009/03/24/micro-projet-hiragana-v009/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 11:34:37 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[hiragana]]></category>
		<category><![CDATA[interfaces graphiques]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=192</guid>
		<description><![CDATA[Et bien ça traine pas mal en ce moment&#8230; Je pensais présenter la suite des captures des interfaces graphique en java, mais SWT m&#8217;a posé quelques problèmes sous Linux et Jface ne veut rien savoir sous prétexte qu&#8217;il ne trouve pas IProgressMonitor (ce qui est certainement du a la version d&#8217;éclipse que j&#8217;utilise et qui [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=192&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Et bien ça traine pas mal en ce moment&#8230;<br />
Je pensais présenter la suite des captures des interfaces graphique en java, mais SWT m&#8217;a posé quelques problèmes sous Linux et Jface ne veut rien savoir sous prétexte qu&#8217;il ne trouve pas IProgressMonitor (ce qui est certainement du a la version d&#8217;éclipse que j&#8217;utilise et qui n&#8217;est pas très propre).</p>
<p>SWT : Standard Widget Toolkit. La bibliotheque SWT utilise les composants natif du système d&#8217;exploitation pour la gestion des interfaces graphiques par l&#8217;intermédiaire de JNI (<a href="http://www.eclipse.org/swt/">Site officiel</a>).</p>
<p><img class="aligncenter size-full wp-image-194" title="hw_xp_swt" src="http://jisser.files.wordpress.com/2009/03/hw_xp_swt.jpg?w=500" alt="hw_xp_swt"   /></p>
<p>JFace : C&#8217;est un toolkit de manipulation de SWT.</p>
<p>Suite a cette série de test j&#8217;ai décidé d&#8217;utiliser Swing pour la partie graphique de ce micro projet car :</p>
<ul>
<li> Le besoin de performance n&#8217;est pas vital.</li>
<li> La compatibilité est un plus.</li>
<li>L&#8217;interface reste identique sur tous les systèmes.</li>
<li>Permet d&#8217;utiliser le modèle MVC.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/192/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=192&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2009/03/24/micro-projet-hiragana-v009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>

		<media:content url="http://jisser.files.wordpress.com/2009/03/hw_xp_swt.jpg" medium="image">
			<media:title type="html">hw_xp_swt</media:title>
		</media:content>
	</item>
		<item>
		<title>Micro Projet Hiragana (v0.08)</title>
		<link>http://jisser.wordpress.com/2009/03/10/micro-projet-hiragana-v008/</link>
		<comments>http://jisser.wordpress.com/2009/03/10/micro-projet-hiragana-v008/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 15:03:16 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[hiragana]]></category>
		<category><![CDATA[interfaces graphiques]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=156</guid>
		<description><![CDATA[Après une période professionnelle chargée, je peux enfin souffler afin de vous présenter brièvement les différentes api et framework permettant le développement d&#8217;interface graphique en java, c&#8217;est a dire : AWT Swing SWT JFace JavaFX AWT : Abstract Windowing Toolkit cette api est  totalement indépendante du matériel. Elle est moins utilisée actuellement au profit de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=156&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Après une période professionnelle chargée, je peux enfin souffler afin de vous présenter brièvement les différentes api et framework permettant le développement d&#8217;interface graphique en java, c&#8217;est a dire :</p>
<ul>
<li> AWT</li>
<li> Swing</li>
<li> SWT</li>
<li> JFace</li>
<li> JavaFX</li>
</ul>
<p>AWT : Abstract Windowing Toolkit cette api est  totalement indépendante  du matériel. Elle est moins utilisée actuellement au profit de Swing.</p>
<div id="attachment_171" class="wp-caption aligncenter" style="width: 310px"><img title="hw_xp_awt" src="http://jisser.files.wordpress.com/2009/03/hw_xp_awt.jpg?w=150&#038;h=150" alt="Hello World sous windows xp avec AWT" width="150" height="150" />  <img title="hw_deb_awt" src="http://jisser.files.wordpress.com/2009/03/hw_deb_awt.jpg?w=150&#038;h=150" alt="Hello World sous debian avec AWT" width="150" height="150" /><p class="wp-caption-text">Hello World avec AWT sous windows XP et Debian</p></div>
<p>SWING : C&#8217;est une surcouche s&#8217;appuyant sur AWT et java2D. Les performances sont un peu moins bonnes que celle d&#8217;AWT, ce qui parait logique puisque Swing s&#8217;appuie dessus. Les interfaces graphiques créées sont très similaire pour tous les systèmes d&#8217;exploitation.</p>
<div id="attachment_172" class="wp-caption aligncenter" style="width: 310px"><img src="http://jisser.files.wordpress.com/2009/03/hw_xp.jpg?w=150&#038;h=150" alt="hw_xp_swing" title="hw_xp_swing" width="150" height="150" />  <img src="http://jisser.files.wordpress.com/2009/03/hw_deb.jpg?w=150&#038;h=150" alt="hw_deb_swing" title="hw_deb_swing" width="150" height="150" /><p class="wp-caption-text">Hello World avec SWING sous windows XP et Debian</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/156/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=156&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2009/03/10/micro-projet-hiragana-v008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>

		<media:content url="http://jisser.files.wordpress.com/2009/03/hw_xp_awt.jpg" medium="image">
			<media:title type="html">hw_xp_awt</media:title>
		</media:content>

		<media:content url="http://jisser.files.wordpress.com/2009/03/hw_deb_awt.jpg" medium="image">
			<media:title type="html">hw_deb_awt</media:title>
		</media:content>

		<media:content url="http://jisser.files.wordpress.com/2009/03/hw_xp.jpg" medium="image">
			<media:title type="html">hw_xp_swing</media:title>
		</media:content>

		<media:content url="http://jisser.files.wordpress.com/2009/03/hw_deb.jpg" medium="image">
			<media:title type="html">hw_deb_swing</media:title>
		</media:content>
	</item>
		<item>
		<title>Micro Projet Hiragana (v0.07)</title>
		<link>http://jisser.wordpress.com/2009/02/19/micro-projet-hiragana-v007/</link>
		<comments>http://jisser.wordpress.com/2009/02/19/micro-projet-hiragana-v007/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 17:02:59 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[collection]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[hiragana]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=59</guid>
		<description><![CDATA[Après avoir vu la classe Hiragana nous passons à la classe Hiraganas. Son fonctionnement n&#8217;est pas encore figé et risque d&#8217;évoluer mais ça va nous permettre d&#8217;avancer sur les autres parties de l&#8217;application. La classe Hiraganas a pour objectif de fournir des collections d&#8217;objet Hiragana, pour le moment nous nous limiterons a une collection complète. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=59&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Après avoir vu la classe Hiragana nous passons à la classe Hiraganas. Son fonctionnement n&#8217;est pas encore figé et risque d&#8217;évoluer mais ça va nous permettre d&#8217;avancer sur les autres parties de l&#8217;application. La classe Hiraganas a pour objectif de fournir des collections d&#8217;objet Hiragana, pour le moment nous nous limiterons a une collection complète.<br />
Il existe plusieurs type de collection pour faire court (<a href="http://java.sun.com/javase/6/docs/technotes/guides/collections/reference.html">Framework Collection</a>) :</p>
<ul>
<li> Collection (non ordonnée)</li>
<li> List (utilise un index, permet les doublons)</li>
<li> Map (utilise une clé)</li>
<li> Queue (Fonctionnement de type FIFO ou LIFO)</li>
<li> Set (pas de doublon, peut etre ordonnée)</li>
</ul>
<p>Dans ce cas nous utiliserons des HashSet car :</p>
<ul>
<li>pas de doublon a gerer</li>
<li>parcour linéare</li>
<li>pas de besoin d&#8217;index</li>
</ul>
<p>Le Constructeur est charger d&#8217;initialiser la collection d&#8217;Hiragana de référence. Pour ce faire il initialise un document DOM avec la méthode initDoc,et le parcours à l&#8217;aide de la méthode privé nextHiragana. A chaque noeud hiragana rencontré il instancie un objet Hiragana grâce à la méthode getCurrentHiragana puis l&#8217;ajoute à la collection hiraganaFullCollection. Enfin la méthode getHiraganaFullCollection permet de récuperer La Collection complète des Hirigana présent dans le ficher xml.</p>
<pre><span style="line-height:8pt;font-size:7.5pt;">
import java.util.HashSet;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import java.io.File;
import java.io.FileNotFoundException;

public class Hiraganas {
  private HashSet hiraganaFullCollection;
  private final String myXmlFilePath="hiragana.xml";
  private Document myXmlDoc=null;
  private DocumentBuilder docBuilder;
  private DocumentBuilderFactory docFactory;
  private Node iteratorNode;

  public Hiraganas() throws Exception {
    hiraganaFullCollection = new HashSet();
    myXmlDoc = initDoc(new File(myXmlFilePath));
    this.iteratorNode = nextHiragana(myXmlDoc.getFirstChild());
    while (!(this.iteratorNode == null)) {
      hiraganaFullCollection.add(getCurrentHiragana(this.iteratorNode));
      this.iteratorNode = nextHiragana(this.iteratorNode);
    }//end while
  }// end constructor

  private Document initDoc(File xmlFile) throws Exception {
    if (!xmlFile.canRead()) {
      throw new Exception("File " + xmlFile.getName() + " no readable");
    }//end if
    docFactory = DocumentBuilderFactory.newInstance();
    docBuilder = docFactory.newDocumentBuilder();
    return docBuilder.parse(xmlFile);
  }//end initDoc

  private Hiragana getCurrentHiragana(Node currentNode) throws Exception {
    return new Hiragana(currentNode);
  }// end getCurrentHiragana

  private Node nextHiragana(Node currentNode) {
    Node nextNode = null;
    if (currentNode == null) { return nextNode; }

    if (currentNode.getNodeName().equals("hiragana")) {
      nextNode = currentNode.getNextSibling();
    }//end if

    if (currentNode.getNodeName().equals("hiraganas")) {
      nextNode = currentNode.getFirstChild();
    }//end if

    while (!(nextNode == null) &amp;&amp; !(nextNode.getNodeName().equals("hiragana"))) {
      nextNode = nextNode.getNextSibling();
    }//end while
    return nextNode;
  }//end nextHiragana

  public HashSet getHiraganaFullCollection() {
    return hiraganaFullCollection;
  }//end getHiraganaFullCollection
}</span></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=59&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2009/02/19/micro-projet-hiragana-v007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>
	</item>
		<item>
		<title>Micro Projet Hiragana (v0.06)</title>
		<link>http://jisser.wordpress.com/2009/02/17/micro-projet-hiragana-suite-6/</link>
		<comments>http://jisser.wordpress.com/2009/02/17/micro-projet-hiragana-suite-6/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 13:33:28 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[hiragana]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=71</guid>
		<description><![CDATA[Peu de nouveauté cette fois, je me contente juste de la classe de base Hiragana. Son constructeur prend en paramètre un noeud (node) et le parcours afin d&#8217;instancier correctement les attributs. En cas de problème avec le constructeur, il jette simplement une exception générique, par exemple si le noeud passé est null ou porte un [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=71&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span>Peu de nouveauté cette fois, je me contente juste de la classe de base Hiragana. Son constructeur prend en paramètre un noeud (node) et le parcours afin d&#8217;instancier correctement les attributs. En cas de problème avec le constructeur, il jette simplement une exception générique, par exemple si le noeud passé est null ou porte un nom différent de celui attendu. Une fois initialisé les valeurs peuvent seulement être lu par les &#8220;getters&#8221;.</span></p>
<pre><span style="line-height:8pt;font-size:7.5pt;">
import org.w3c.dom.Node;
import java.lang.Exception;

//classe Hiragana
public class Hiragana {
  private Integer id;
  private String image;
  private String romanji;
  private String sound;
  private Integer level;

  //constructeur
  public Hiragana(Node nH) throws Exception {
    if (nH == null) {
      throw (new Exception("Null Node"));
    }// end if
    if (!nH.getNodeName().equals("hiragana"))
    {
      throw (new Exception("Bad Node"));
    }// end if

    id = Integer.getInteger(nH.getAttributes().getNamedItem("id").getNodeValue());
    Node child = nH.getFirstChild();

    while (!(child.getNextSibling() == null)) {

      if (child.getNodeName().equals("image")) {
        image = child.getAttributes().getNamedItem("uri").getNodeValue();
      }//end if

      if (child.getNodeName().equals("romanji")) {
        romanji = child.getFirstChild().getNodeValue();
      }//end if

      if (child.getNodeName().equals("level")) {
        level = Integer.getInteger(child.getFirstChild().getNodeValue());
      }//end if

      if (child.getNodeName().equals("son")) {
        sound = child.getAttributes().getNamedItem("uri").getNodeValue();
      }// end if

      child = child.getNextSibling();
    }//end while
  }//end constructeur

  //getters
  public Integer getId(){ return this.id; }
  public String getImage(){ return this.image; }
  public String getSound(){ return this.sound; }
  public String getRomanji(){ return this.romanji; }
  public Integer getLevel(){ return this.level; }
}</span></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=71&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2009/02/17/micro-projet-hiragana-suite-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>
	</item>
		<item>
		<title>Micro Projet Hiragana (v0.05)</title>
		<link>http://jisser.wordpress.com/2009/02/10/micro-projet-hiragana-suite-5/</link>
		<comments>http://jisser.wordpress.com/2009/02/10/micro-projet-hiragana-suite-5/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 14:06:36 +0000</pubDate>
		<dc:creator>jisser</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[hiragana]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://jisser.wordpress.com/?p=48</guid>
		<description><![CDATA[Comme nous avons appris à ouvrir un fichier xml et créer un DOM avec celui-ci on va maintenant voir comment naviguer dedans. Nous commencons par importer les interfaces Node et NamedNodeMap qui vont permettre de récupérer les différents noeuds constituant le fichier xml. Un appel de myDoc.getFirstChild() permet de récupérer le 1er noeud enfant du [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=48&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Comme nous avons appris à ouvrir un fichier xml et créer un DOM avec celui-ci on va maintenant voir comment naviguer dedans. Nous commencons par importer les interfaces Node et NamedNodeMap qui vont permettre de récupérer les différents noeuds constituant le fichier xml.</p>
<p>Un appel de myDoc.getFirstChild() permet de récupérer le 1er noeud enfant du document, à savoir dans notre cas &#8220;hiraganas&#8221;. On le stock dans currentNode puis on récupère aussi son premier noeud enfant. Contrairement à ce que l&#8217;on pourrait croire le noeud récupérer n&#8217;est pas &#8220;hiragana&#8221; mais un noeud de type Text contenant &#8220;nt&#8221; qui correspond au retour a la ligne et la tabulation utilisé après la balise. Avec childNode.getNextSibling() nous allons enfin pouvoir récupérer le premier noeud &#8220;hiragana&#8221;. On effectue un test pour déterminer si le noeud possède des attributs si c&#8217;est le cas on récupère une liste des attributs. Dans notre cas nous allons afficher le nom et la valeur de l&#8217;attribut id.</p>
<p>Nous venons de faire le tour des fonctions primaire de navigation dans un document xml ce qui devrait nous permettre de construire une collection d&#8217;hiraganas.</p>
<pre><span style="line-height:8pt;font-size:7.5pt;">import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import java.io.File;

public class xmlReader {

  public static void main(String[] args) {
    Document myDoc=null;
    DocumentBuilder docBuilder;
    DocumentBuilderFactory docFactory;
    Node currentNode,childNode,nextChildNode;
    docFactory = DocumentBuilderFactory.newInstance();

    try {
      docBuilder = docFactory.newDocumentBuilder();
      myDoc = docBuilder.parse(new File("hiragana.xml"));
    } catch (Exception e) {
      System.out.println("Exception : " + e.getLocalizedMessage());
    }//end try catch

    //first
    currentNode = myDoc.getFirstChild();
    System.out.println("node name : " + currentNode.getNodeName());

    //child
    childNode = currentNode.getFirstChild();
    System.out.println("first child node name : " + childNode.getNodeName());

    //nextChildNode
    nextChildNode = childNode.getNextSibling();
    System.out.println("next child node name : " + nextChildNode.getNodeName());

    //getAttributes
    if (nextChildNode.hasAttributes()) {
      NamedNodeMap attributeList;
      attributeList = nextChildNode.getAttributes();
      System.out.println("name : " + attributeList.getNamedItem("id").getNodeName());
      System.out.println("id : " + attributeList.getNamedItem("id").getNodeValue());
    }//end if

  }//end main
}//end xmlReader</span></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jisser.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jisser.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jisser.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jisser.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jisser.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jisser.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jisser.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jisser.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jisser.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jisser.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jisser.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jisser.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jisser.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jisser.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jisser.wordpress.com&amp;blog=1565323&amp;post=48&amp;subd=jisser&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jisser.wordpress.com/2009/02/10/micro-projet-hiragana-suite-5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4a310c9665e8ce41565ad4bfff51e39a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jisser</media:title>
		</media:content>
	</item>
	</channel>
</rss>
