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 }