Bonjour,

J'ai lu avec avidité la doc de Lionel ROUX sur les nouveautés de Tiger mais il me manque quelques infos pour convertir mes bonnes vieilles classes pleines de final static en jolies énumérations typesafe.

En particulier j'ai une de ces classes qui définit une interface de vocabulaire RDF pour Jena (pour ceux qui connaissent) et qui pour l'instant ressemble à peu près à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
public class MD{
	//URI for vocabulary elements
	protected static final String uri = "http://www.epseelon.org/metadoc/elements/1.0/";
 
	//Return URI for vocabulary elements
	public static String getURI(){
		return uri;
	}
 
	/**
         * Uniquement la pour initialiser les membres suivants.
         */
	private static Model model = ModelFactory.createDefaultModel();
 
	/**
         * Ressources du modèle
         */
	public static Resource Element = model.createResource(uri + "Element");
	public static Resource Document = model.createResource(uri + "Document");
 
	/**
         * Propriétés du modèle
         */
	public static Property workzones = model.createProperty(uri, "workzones");
	public static Property parents = model.createProperty(uri, "parents");
}
Mon problème c'est que tant que l'énumération porte sur des entiers ça va je suis pas troublé, ça ressemble à ce que je connaissais en C.
Mais j'ai pu constater avec bonheur que les enum Java permettaient de faire beaucoup plus que ça : http://java.sun.com/developer/techni...2se15langfeat/

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
public class Example {
  public enum MainMenu {FILE, EDIT, FORMAT, VIEW}
 
  public static void main(String[] argv) {
    for (MainMenu menu : MainMenu.values()) 
      System.out.println(menu);    
  }
}
Ce que je ne comprends pas c'est comment ils font pour initialiser les valeurs de FILE, EDIT, FORMAT et VIEW, et donc par extension comment je peux faire pour initialiser mes ressources et mes propriétés.

Et comme la documentation ne foisonne pas encore (je vais me jeter sur la première bible des nouveautés de J2SE5 dès qu'elle sort), je comptais un peu sur l'expérience des plus téméraires d'entre vous qui, comme moi, auront déjà entamé la migration mais qui, contrairement à moi auront trouvé l'astuce

Merci d'avance

rozwel