La déclaration de prefs peut se faire avec 4 niveaux de préférences :
- Preferences.systemRoot() : les préférences sont communes à tous les utilisateurs et peuvent être accédées via toutes les classes.
- Preferences.systemNodeForPackage(Class c) : les préférences sont communes à tous les utilisateurs mais ne concernent que cette classe.
- Preferences.userRoot() : les préférences sont définies pour cet utilisateur et peuvent être accédées via toutes les classes.
- Preferences.userNodeForPackage(Class c) : les préférences sont définies pour cet utilisateur mais ne concernent que cette classe.
Il est obligatoire de placer une valeur par défaut différente de null dans les fonctions permettant de récupérer une valeur.
L'utilisation des propriétés se traduit par l'interpréteur Java comme la déclaration de Préférences de niveau Preferences.systemRoot().
Certaines properties sont déjà pré-enregistrées par défaut :
System.getProperty ( "java.version" ) retourne la version de Java installée sur l'ordinateur.
System.getProperty ( "java.vendor" ) retourne la société ayant distribué cette version Java.
System.getProperty ( "java.vendor.url" ) retourne le site web de la société ayant distribué la version Java.
System.getProperty ( "java.home" ) retourne le répertoire d'installation du JRE (Java Runtime Environment).
System.getProperty ( "java.vm.specification.version" ) retourne la version de la machine virtuelle Java.
System.getProperty ( "java.vm.specification.vendor" ) retourne le distributeur de la machine virtuelle Java.
System.getProperty ( "java.vm.specification.name" ) retourne le nom de la machine virtuelle Java.
System.getProperty ( "java.vm.version" ) retourne la version maximale de langage Java gérée par la machine virtuelle de l'ordinateur.
System.getProperty ( "java.vm.vendor" ) retourne le distributeur de la version maximale de Java gérée par la machine virtuelle de l'ordinateur.
System.getProperty ( "java.vm.name" ) retourne le nom donné à cette version du langage Java.
System.getProperty ( "java.specification.version" ) retourne la version du JRE (Java Runtime Environment) installée.
System.getProperty ( "java.specification.vendor" ) retourne le distributeur de la version du JRE installée.
System.getProperty ( "java.specification.name" ) retourne le nom du JRE (Java Runtime Environment)
System.getProperty ( "java.class.version" ) retourne la version de la classe.
System.getProperty ( "java.class.path" ) retourne le chemin vers le répertoire contenant la classe.
System.getProperty ( "java.ext.dirs" ) retourne le chemin vers le répertoire des extentions Java.
System.getProperty ( "os.name" ) retourne le nom du système d'exploitation.
System.getProperty ( "os.arch" ) retourne l'architecture du système (x86, ...).
System.getProperty ( "os.version" ) retourne la version du système d'exploitation.
System.getProperty ( "file.separator" ) retourne le séparateur standard entre les répertoires dans un chemin ("/" sous UNIX, "\\" sous Windows et DOS, ...)
System.getProperty ( "path.separator" ) retourne le séparateur standard entre les éléments du PATH (":" sous UNIX, ";" sous Windows et DOS, ...)
System.getProperty ( "line.separator" ) retourne le séparateur standard entre les lignes d'un fichier (le ou les caractères signalant la fin d'une ligne) ("\n" sous UNIX, "\r\n" sous Windows, ...).
System.getProperty ( "user.name" ) retourne le nom de l'utilisateur (celui de sa session, en fait).
System.getProperty ( "user.home" ) retourne le chemin de base attribué à l'utilisateur.
System.getProperty ( "user.dir" ) retourne le chemin vers le répertoire dans lequel se trouve l'utilisateur (celui à partir duquel le programme à été lancé).
Les propriétés, ainsi que la classe Properties, sont plus simples d'utilisation, mais peuvent être interrompues par des SecurityException. Leur utilisation est donc déconseillée si l'on souhaite mettre son programme en libre service pour un large public, ou si l'on désire l'Appletiser.
Il est en outre possible d'obtenir la classe Properties système ainsi que les valeur précédamment écrites avec la méthode System.getProperties(). Si vous voulez enregistrer votre classe Properties dans le système afin que son code ne soit pas accessible à l'utilisateur (et ainsi protèger les données sensibles), vous pouvez utiliser la méthode System.setProperties().
J'espère que ce code est suffisamment simple et commenté pour que tous puissent le comprendre !
BONNE PROGRAMMATION !!!