# orion.core.preference

The preferences service manages a hierarchical set of preference nodes. Nodes are identified by a path string, where segments are delimited by the slash character ('/'). Each node is a JSON object with string keys and values that are String, Boolean, or Number.

Here is an example of retrieving a preference storing the list of recently used projects:

     prefService.getPreferences("/window/recent").then(function(prefs) {
       var projects =  prefs.get("projects");
       if (typeof projects === "string") {
         projects = JSON.parse(projects);
       }
       if (projects && projects.length && projects.length > 0) {
         //do something with the projects
       }
     });

And here is an example of adding a new project to the list, and storing the result back in the preference service:

     prefService.getPreferences("/window/recent").then(function(prefs) {
       var projects = prefs.get("projects");
       if (typeof projects === "string") {
         projects = JSON.parse(projects);
       }
       projects.push({name: "My Proj", location: "http://example.com/myproj"});
       prefs.put("projects", projects);
     });