Паттерн: Приспособленец (Flyweight)
Исходник: CssStyle.java, язык: java [code #472, hits: 6114]
автор: this [добавлен: 01.09.2007]
  1. package flyweight;
  2.  
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import java.util.Set;
  6.  
  7. public class CssStyle {
  8. private Map<String, String> properties;
  9.  
  10. public CssStyle() {
  11. properties = new HashMap<String, String>();
  12. }
  13.  
  14. public void AddStyle(String name, String val) {
  15. properties.put(name, val);
  16. }
  17.  
  18. public String GetStyle(String name) {
  19. return properties.get(name);
  20. }
  21.  
  22. public void Clear() {
  23. properties.clear();
  24. }
  25.  
  26. /**
  27. * Переопределяем данную операцию,
  28. * выводя в соотв-щем порядке установленные стили
  29. */
  30. public String toString() {
  31. Set<Map.Entry<String, String>> i = properties.entrySet();
  32. String res = "";
  33. for (Map.Entry<String, String> one : i) {
  34. res += one.getKey() + ":" + one.getValue() + ";";
  35. }
  36. return res;
  37. }
  38. }
Объект, преставляющий собой список css-стилей для html-элемента.
Используется как параметр внешнего состояния приспособленца: TagContext
Тестировалось на: java 1.5.0_04

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