package com.iluwatar.composite;

/**
 * 
 * With Composite we can treat tree hierarchies of objects with uniform
 * interface ({@link LetterComposite}). In this example we have sentences composed of
 * words composed of letters.
 * 
 */
public class App {

	/**
	 * Program entry point
	 * @param args command line args
	 */
	public static void main(String[] args) {
		System.out.println("Message from the orcs: ");

		LetterComposite orcMessage = new Messenger().messageFromOrcs();
		orcMessage.print();

		System.out.println("\n");

		System.out.println("Message from the elves: ");

		LetterComposite elfMessage = new Messenger().messageFromElves();
		elfMessage.print();
	}
}

@@ -37,16 +37,11 @@
 %0A * 
-%0A * With
+The
  Com
@@ -51,101 +51,408 @@
 ite 
-we can treat tree hierarchies of objects with uniform%0A * interface (%7B@link LetterComposite%7D).
+pattern is a partitioning design pattern. The Composite pattern %0A * describes that a group of objects is to be treated in the same way as a single %0A * instance of an object. The intent of a composite is to %22compose%22 objects into %0A * tree structures to represent part-whole hierarchies. Implementing the Composite %0A * pattern lets clients treat individual objects and compositions uniformly.%0A * %3Cp%3E%0A *
  In 
@@ -493,19 +493,16 @@
 posed of
-%0A *
  words c
@@ -520,16 +520,107 @@
 letters.
+ All of%0A * the objects can be treated through the same interface (%7B@link LetterComposite%7D).
 %0A * %0A */

Improve Composite Javadoc