18 package com.mysql.clusterj.core.metadata;
20 import com.mysql.clusterj.ClusterJException;
21 import com.mysql.clusterj.ClusterJHelper;
22 import com.mysql.clusterj.ClusterJUserException;
23 import com.mysql.clusterj.core.spi.DomainTypeHandlerFactory;
24 import com.mysql.clusterj.core.spi.DomainTypeHandler;
25 import com.mysql.clusterj.core.store.Dictionary;
26 import com.mysql.clusterj.core.util.I18NHelper;
27 import com.mysql.clusterj.core.util.Logger;
28 import com.mysql.clusterj.core.util.LoggerFactoryService;
29 import java.util.List;
42 protected static List<DomainTypeHandlerFactory> domainTypeHandlerFactories;
47 Thread.currentThread().getContextClassLoader(),
48 domainTypeHandlerFactoryErrorMessages);
49 logger.info(
"Found " + domainTypeHandlerFactories.size() +
" DomainTypeHandlerFactories");
51 logger.info(factory.toString());
55 public <T> DomainTypeHandler<T> createDomainTypeHandler(Class<T> domainClass,
Dictionary dictionary) {
60 errorMessages.append(
"Trying factory ");
61 errorMessages.append(factory.toString());
62 errorMessages.append(
"\n");
63 handler = factory.createDomainTypeHandler(domainClass, dictionary);
64 if (handler != null) {
67 }
catch (Exception ex) {
68 errorMessages.append(
"Caught exception: ");
69 errorMessages.append(ex.toString());
70 errorMessages.append(
"\n");
76 errorMessages.append(
"Trying standard factory com.mysql.clusterj.core.metadata.DomainTypeHandlerImpl.\n");
80 errorMessages.append(e.toString());
82 }
catch (Exception e) {
83 errorMessages.append(e.toString());