Паттерн: Компоновщик (Composite)
Исходник: Part.java, язык: java [code #454, hits: 9485]
автор: this [добавлен: 08.07.2007]
  1. package composite;
  2.  
  3. import java.util.Collections;
  4. import java.util.Iterator;
  5. import java.util.LinkedList;
  6.  
  7. public class Part extends SitePage {
  8.  
  9. public Part(String name, String descr, String keywords) {
  10. super(name, descr, keywords);
  11. inners = new LinkedList<SitePage>();
  12. }
  13.  
  14. public String getKeywords() {
  15. StringBuffer res = new StringBuffer(keywords);
  16. for (Iterator iter = inners.iterator(); iter.hasNext();) {
  17. SitePage innerPage = (SitePage) iter.next();
  18. res.append(innerPage.getKeywords());
  19. }
  20. return res.toString();
  21. }
  22.  
  23. public boolean Add(SitePage page) {
  24. inners.add(page);
  25. return true;
  26. }
  27.  
  28. public boolean Remove(SitePage page) {
  29. inners.remove(page);
  30. return true;
  31. }
  32.  
  33. public Iterator<SitePage> GetInners() {
  34. return inners.iterator();
  35. }
  36.  
  37.  
  38.  
  39. }
Сущность Composite

Абстракция составной страницы сайта.
Тестировалось на: java 1.5.0_04

+добавить реализацию