View Javadoc
1   /*
2    *
3    * The DbUnit Database Testing Framework
4    * Copyright (C)2002-2008, DbUnit.org
5    *
6    * This library is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Lesser General Public
8    * License as published by the Free Software Foundation; either
9    * version 2.1 of the License, or (at your option) any later version.
10   *
11   * This library is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   * Lesser General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public
17   * License along with this library; if not, write to the Free Software
18   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   *
20   */
21  package org.dbunit.util.fileloader;
22  
23  import java.io.IOException;
24  import java.net.URL;
25  import java.util.Map;
26  
27  import org.dbunit.dataset.DataSetException;
28  import org.dbunit.dataset.IDataSet;
29  import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
30  
31  /**
32   * @author Jeff Jensen jeffjensen AT users.sourceforge.net
33   * @author Last changed by: $Author$
34   * @version $Revision$ $Date$
35   * @since 2.4.8
36   */
37  public class FlatXmlDataFileLoader extends AbstractDataFileLoader {
38      private FlatXmlDataSetBuilder builder = new FlatXmlDataSetBuilder();
39  
40      /** Create new instance. */
41      public FlatXmlDataFileLoader() {
42      }
43  
44      /**
45       * Create new instance with replacement objects.
46       * 
47       * @param replacementObjects
48       *            The replacement objects for use with
49       *            {@link org.dbunit.dataset.ReplacementDataSet}.
50       */
51      public FlatXmlDataFileLoader(Map ro) {
52          super(ro);
53      }
54  
55      /**
56       * Create new instance with replacement objects and replacement substrings.
57       * 
58       * @param ro
59       *            The replacement objects for use with
60       *            {@link org.dbunit.dataset.ReplacementDataSet}.
61       * @param rs
62       *            The replacement substrings for use with
63       *            {@link org.dbunit.dataset.ReplacementDataSet}.
64       */
65      public FlatXmlDataFileLoader(Map ro, Map rs) {
66          super(ro, rs);
67      }
68  
69      /**
70       * Create new instance with replacement objects, replacement substrings, and
71       * {@link org.dbunit.dataset.xml.FlatXmlDataSetBuilder}.
72       * 
73       * @param ro
74       *            The replacement objects for use with
75       *            {@link org.dbunit.dataset.ReplacementDataSet}.
76       * @param rs
77       *            The replacement substrings for use with
78       *            {@link org.dbunit.dataset.ReplacementDataSet}.
79       * @param builder
80       *            The {@link org.dbunit.dataset.xml.FlatXmlDataSetBuilder} to
81       *            use.
82       */
83      public FlatXmlDataFileLoader(Map ro, Map rs, FlatXmlDataSetBuilder builder) {
84          super(ro, rs);
85          this.builder = builder;
86      }
87  
88      /**
89       * Create new instance with a
90       * {@link org.dbunit.dataset.xml.FlatXmlDataSetBuilder}.
91       * 
92       * @param builder
93       *            The {@link org.dbunit.dataset.xml.FlatXmlDataSetBuilder} to
94       *            use.
95       */
96      public FlatXmlDataFileLoader(FlatXmlDataSetBuilder builder) {
97          this.builder = builder;
98      }
99  
100     /**
101      * {@inheritDoc}
102      */
103     public IDataSet loadDataSet(URL url) throws DataSetException,
104             IOException {
105         IDataSet ds = builder.build(url);
106 
107         return ds;
108     }
109 
110     /**
111      * Get the builder.
112      * 
113      * @see {@link builder}.
114      * 
115      * @return The builder.
116      */
117     public FlatXmlDataSetBuilder getBuilder() {
118         return builder;
119     }
120 
121     /**
122      * Set the builder.
123      * 
124      * @see {@link builder}.
125      * 
126      * @param builder
127      *            The builder to set.
128      */
129     public void setBuilder(FlatXmlDataSetBuilder builder) {
130         this.builder = builder;
131     }
132 }