1 28 29 package com.opencms.template.cache; 30 31 import java.util.Enumeration ; 32 import java.util.Hashtable ; 33 import java.util.Vector ; 34 35 43 public class CmsElementDefinitionCollection { 44 45 46 private Hashtable m_eldefs = new Hashtable (); 47 48 49 public CmsElementDefinitionCollection() { 50 } 51 52 62 public CmsElementDefinitionCollection(CmsElementDefinitionCollection primary, CmsElementDefinitionCollection secondary) { 63 Vector allKeys = new Vector (); 64 Enumeration keys1 = primary.m_eldefs.keys(); 65 Enumeration keys2 = secondary.m_eldefs.keys(); 66 while(keys1.hasMoreElements()) { 67 allKeys.addElement(keys1.nextElement()); 68 } 69 while(keys2.hasMoreElements()) { 70 Object o = keys2.nextElement(); 71 if(!allKeys.contains(o)) { 72 allKeys.addElement(o); 73 } 74 } 75 Enumeration loop = allKeys.elements(); 76 while(loop.hasMoreElements()) { 77 String currentKey = (String )loop.nextElement(); 78 CmsElementDefinition def1 = (CmsElementDefinition)primary.m_eldefs.get(currentKey); 79 CmsElementDefinition def2 = (CmsElementDefinition)secondary.m_eldefs.get(currentKey); 80 m_eldefs.put(currentKey, new CmsElementDefinition(def1, def2)); 81 } 82 } 83 84 88 public void add(CmsElementDefinition def) { 89 m_eldefs.put(def.getName(), def); 90 } 91 92 97 public CmsElementDefinition get(String name) { 98 return (CmsElementDefinition)m_eldefs.get(name); 99 } 100 101 104 public Enumeration getAllElementNames(){ 105 return m_eldefs.keys(); 106 } 107 108 112 public String toString() { 113 StringBuffer result = new StringBuffer (); 114 result.append("-----------------------------------------------------------------\n"); 115 result.append("Element definition dump: \n"); 116 Enumeration keys = m_eldefs.keys(); 117 while(keys.hasMoreElements()) { 118 String name = (String )keys.nextElement(); 119 CmsElementDefinition current = (CmsElementDefinition)m_eldefs.get(name); 120 result.append(current.toString() + "\n"); 121 } 122 result.append("-----------------------------------------------------------------\n"); 123 return result.toString(); 124 } 125 } | Popular Tags |