# 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);
    });