01: /*
02: * ChainBuilder ESB
03: * Visual Enterprise Integration
04: *
05: * Copyright (C) 2007 Bostech Corporation
06: *
07: * This program is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU General Public License as published by the
09: * Free Software Foundation; either version 2 of the License, or (at your option)
10: * any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15: * for more details.
16: *
17: * You should have received a copy of the GNU General Public License along with
18: * this program; if not, write to the Free Software Foundation, Inc.,
19: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: *
21: *
22: * $Id: AxiomBuilderFactory.java 9711 2007-10-23 20:55:20Z mpreston $
23: */
24: package com.bostechcorp.cbesb.runtime.component.http.marshallers.axiom;
25:
26: import javax.xml.transform.Source;
27: import javax.xml.transform.dom.DOMSource;
28:
29: import org.apache.axiom.om.OMDocument;
30: import org.apache.axiom.om.OMElement;
31: import org.w3c.dom.Node;
32:
33: public class AxiomBuilderFactory {
34:
35: public static IAxiomBuilder newAxiomBuilder(Source content) {
36: IAxiomBuilder axiomBuilder;
37: if (content instanceof DOMSource) {
38: Node node = ((DOMSource) content).getNode();
39:
40: if (node instanceof OMElement || node instanceof OMDocument) {
41: axiomBuilder = new NativeAxiomBuilder();
42: } else {
43: axiomBuilder = new DOMAxiomBuilder();
44: }
45:
46: } else {
47: axiomBuilder = new SAXAxiomBuilder();
48: }
49: return axiomBuilder;
50: }
51: }
|