The relationship between decorator and target (in the code example between Troll und SmartTroll) ist not a composition as described in the code comment lines of class App. It's a aggregation. In a composition both instances canncot live without the other one. But the target (Troll) could live without the decorator (Smart Troll). Changed "composition" to "aggregation" in the comment lines. Code lines are unchanged.
Greetings Thomas
* 'master' of https://github.com/iluwatar/java-design-patterns: (27 commits)
Remove use of coveralls-maven-plugin (sonarqube.com covers this)
Add SonarQube.com badge
Fix environment variable
Add Travis instructions for SonarQube.com analysis
Adds more criticism to Singleton pattern.
Event Based Asynchronous pattern: Add missing license header and puml diagram
Changed config to non-interactive
Moved config into a separate dir
Unused import removed.
End process logic clause has been corrected.
Caching pattern: Documentation and diagram
Fixes#437. Adds criticism to Singleton pattern.
Alter JUnit tests to run in lesser time.
Updated version snapshot to 1.14.0
Changes based on review feedback.
Closes#436. Adds criticism to service locator pattern.
Caching pattern: Implementation of Cache-Aside pattern
Caching pattern: Style fix for null check
Caching pattern: Refactor LRU cache to avoid NPE and unnecessary cache lookup
Caching pattern: Refactor shutdown hook to use method reference
...
Add a simple king and queen classes which implement the behaviour of the
royalty interface. Also wrote the object mother of royalty objects which
is final so you can just call the static methods in it to create objects
with a specific state to use them fast in tests. The tests are already
created for testing the behaviour and the type of the objects which are
created by the object mother.
I also created the UML diagrams via object aid and updated the readme.