1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.support.xml;
14
15 import org.apache.xmlbeans.XmlCursor;
16 import org.apache.xmlbeans.XmlObject;
17
18 /***
19 * Support class for building XmlObject based configurations
20 *
21 * @author Ole.Matzura
22 */
23
24 public class XmlObjectConfigurationBuilder
25 {
26 private XmlObject config;
27 private XmlCursor cursor;
28
29 public XmlObjectConfigurationBuilder( XmlObject config )
30 {
31 this.config = config;
32 cursor = config.newCursor();
33 cursor.toNextToken();
34 }
35
36 public XmlObjectConfigurationBuilder()
37 {
38 this( XmlObject.Factory.newInstance() );
39 cursor = config.newCursor();
40 cursor.toNextToken();
41 }
42
43 public XmlObjectConfigurationBuilder add( String name, String value )
44 {
45 cursor.insertElementWithText( name, value );
46 return this;
47 }
48
49 public XmlObjectConfigurationBuilder add( String name, int value )
50 {
51 cursor.insertElementWithText( name, String.valueOf( value ) );
52 return this;
53 }
54
55 public XmlObjectConfigurationBuilder add( String name, long value )
56 {
57 cursor.insertElementWithText( name, String.valueOf( value ) );
58 return this;
59 }
60
61 public XmlObjectConfigurationBuilder add( String name, float value )
62 {
63 cursor.insertElementWithText( name, String.valueOf( value ) );
64 return this;
65 }
66
67 public XmlObject finish()
68 {
69 cursor.dispose();
70 return config;
71 }
72
73 public XmlObjectConfigurationBuilder add( String name, boolean value )
74 {
75 cursor.insertElementWithText( name, String.valueOf( value ) );
76 return this;
77 }
78
79 public void add( String name, String[] values )
80 {
81 for( String value : values )
82 add( name, value );
83 }
84 }