1 package org.objectweb.celtix.ws.addressing; 2 3 4 import java.util.logging.Level ; 5 import java.util.logging.Logger ; 6 7 8 import org.objectweb.celtix.common.logging.LogUtils; 9 import static org.objectweb.celtix.ws.addressing.JAXWSAConstants.DEFAULT_ADDRESSING_BUILDER; 10 11 12 20 public abstract class AddressingBuilder implements AddressingType { 21 22 private static final Logger LOG = 23 LogUtils.getL7dLogger(AddressingBuilder.class); 24 private static AddressingBuilder builder; 25 26 29 protected AddressingBuilder() { 30 } 31 32 37 public static AddressingBuilder getAddressingBuilder() { 38 synchronized (AddressingBuilder.class) { 39 if (builder == null) { 40 String className = DEFAULT_ADDRESSING_BUILDER; 41 try { 42 Class cls = Class.forName(className); 43 builder = (AddressingBuilder)cls.newInstance(); 44 } catch (ClassNotFoundException cnfe) { 45 cnfe.printStackTrace(); 46 LogUtils.log(LOG, 47 Level.WARNING, 48 "BUILDER_CLASS_NOT_FOUND_MSG", 49 cnfe, 50 className); 51 } catch (Exception ex) { 52 ex.printStackTrace(); 53 LogUtils.log(LOG, 54 Level.WARNING, 55 "BUILDER_INSTANTIATION_FAILED_MSG", 56 ex, 57 className); 58 } 59 } 60 } 61 return builder; 62 } 63 64 69 public abstract AddressingProperties newAddressingProperties(); 70 71 79 public abstract AddressingConstants newAddressingConstants(); 80 } 81 | Popular Tags |