1 package net.sf.msplice; 2 3 import java.net.URL; 4 5 import net.sf.msplice.model.SpliceConfig; 6 import net.sf.msplice.visitor.IVisitor; 7 import net.sf.msplice.visitor.impl.UpdateBusinessVisitor; 8 import net.sf.msplice.visitor.impl.UpdateViewVisitor; 9 import net.sf.msplice.xmloo.ConfigFactoryException; 10 import net.sf.msplice.xmloo.ISpliceConfigFactory; 11 import net.sf.msplice.xmloo.impl.DigesterConfigFactory; 12 13 14 class SpliceUtility { 15 16 private static SpliceUtility instance = null; 17 private ISpliceConfigFactory configFactory = null; 18 19 public static synchronized SpliceUtility instance() { 20 if (instance == null) { 21 instance = new SpliceUtility(); 22 } 23 return instance; 24 } 25 26 public SpliceUtility() { 27 configFactory = new DigesterConfigFactory(); 28 } 29 30 public SpliceConfig createConfiguration(String string) throws ConfigFactoryException { 31 return configFactory.createConfiguration(string); 32 } 33 34 public SpliceConfig createConfiguration(URL url) throws ConfigFactoryException { 35 return configFactory.createConfiguration(url); 36 } 37 38 public void updateBusiness(SpliceConfig rootSpliceElement, Object businessRoot, Object viewRoot) throws SpliceException { 39 IVisitor updateBusinessVisitor = new UpdateBusinessVisitor(businessRoot, viewRoot); 40 rootSpliceElement.accept(updateBusinessVisitor); 41 } 42 43 public void updateView(SpliceConfig rootSpliceElement, Object viewRoot, Object businessRoot) throws SpliceException { 44 IVisitor updateViewVisitor = new UpdateViewVisitor(viewRoot, businessRoot); 45 rootSpliceElement.accept(updateViewVisitor); 46 } 47 48 }