package com.iluwatar.state;

/**
 * 
 * In State pattern the container object ({@link Mammoth}) has an internal state object ({@link State}) that
 * defines the current behavior. The state object can be changed to alter the
 * behavior.
 * <p>
 * In this example the {@link Mammoth} changes its behavior as time passes by.
 * 
 */
public class App {

	public static void main(String[] args) {

		Mammoth mammoth = new Mammoth();
		mammoth.observe();
		mammoth.timePasses();
		mammoth.observe();
		mammoth.timePasses();
		mammoth.observe();

	}
}

@@ -74,26 +74,8 @@
 ject
- (%7B@link Mammoth%7D)
  has
@@ -103,24 +103,8 @@
 ject
- (%7B@link State%7D)
  tha
@@ -183,16 +183,16 @@
 ter the%0A
-
  * behav
@@ -203,16 +203,204 @@
 %0A * %3Cp%3E%0A
+ * This can be a cleaner way for an object to change its behavior at runtime %0A * without resorting to large monolithic conditional statements and thus improves %0A * maintainability.%0A * %3Cp%3E%0A
  * In th

Improve State Javadoc