1 42 43 package org.jfree.xml.util; 44 45 import java.util.HashMap ; 46 47 50 public class SimpleObjectFactory implements ObjectFactory { 51 52 53 private HashMap objectMappings; 54 55 56 private HashMap manualMappings; 57 58 59 private HashMap multiplexMappings; 60 61 64 public SimpleObjectFactory() { 65 this.objectMappings = new HashMap (); 66 this.manualMappings = new HashMap (); 67 this.multiplexMappings = new HashMap (); 68 } 69 70 75 public void addManualMapping(final ManualMappingDefinition mapping) { 76 this.manualMappings.put(mapping.getBaseClass(), mapping); 77 } 78 79 84 public void addGenericHandler(final GenericObjectFactory handler) { 85 this.objectMappings.put(handler.getBaseClass(), handler); 86 } 87 88 93 public void addMultiplexMapping(final MultiplexMappingDefinition mplex) { 94 this.multiplexMappings.put(mplex.getBaseClass(), mplex); 95 } 96 97 100 public void clear() { 101 this.objectMappings.clear(); 102 this.manualMappings.clear(); 103 this.multiplexMappings.clear(); 104 } 105 106 113 public GenericObjectFactory getFactoryForClass(final Class c) { 114 final GenericObjectFactory factory = (GenericObjectFactory) this.objectMappings.get(c); 115 if (factory == null) { 116 return null; 117 } 118 return factory.getInstance(); 119 } 120 121 128 public ManualMappingDefinition getManualMappingDefinition(final Class c) { 129 return (ManualMappingDefinition) this.manualMappings.get(c); 130 } 131 132 139 public MultiplexMappingDefinition getMultiplexDefinition(final Class c) { 140 final MultiplexMappingDefinition definition = (MultiplexMappingDefinition) 141 this.multiplexMappings.get(c); 142 return definition; 143 } 144 145 152 public boolean isGenericHandler(final Class c) { 153 return this.objectMappings.containsKey(c); 154 } 155 } 156 | Popular Tags |