If we wish to add a new “shape” to our product information, we might do it like this:

Node productsNode = root.getNode("products");

Node triangleNode = productsNode.addNode("triangle");

Node contentNode = triangleNode.addNode("jcr:content");

contentNode.setProperty("myapp:title", "Triangle: an
economical choice");

contentNode.setProperty("myapp:price", 50);

contentNode.setProperty("myapp:lead", "Triangles have

three sides, but they're not always



This would add the new node triangle below the products node and add to triangle's jcr:content node the properties myapp:title, myapp:price and myapp:lead with the specified values.

As another example, suppose we wish to iterate through a collection of strings and add each as a new paragraph under the node triangle/jcr:content. In that case, we might do the following:

Node contentNode = triangleNode.getNode("jcr:content");

for (Iterator i = strings.iterator(); i.hasNext();) {

String text = (String) i.next();

Node paraNode = contentNode.addNode("paragraph"); paraNode.setProperty("text", text);


For each string retrieved from strings a new node is created called paragraph which is given a new property called text, which, in turn, is assigned the retrieved string.