1 /*
2 * dpkg - Debian Package library and the Debian Package Maven plugin
3 * (c) Copyright 2016 Gerrit Hohl
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 */
19 package net.sourceforge.javadpkg.field;
20
21 import java.io.IOException;
22 import java.util.List;
23
24 import net.sourceforge.javadpkg.BuildException;
25 import net.sourceforge.javadpkg.Context;
26 import net.sourceforge.javadpkg.io.DataTarget;
27
28 /**
29 * <p>
30 * A builder for fields.
31 * </p>
32 *
33 * @author Gerrit Hohl (gerrit-hohl@users.sourceforge.net)
34 * @version <b>1.0</b>, 29.04.2016 by Gerrit Hohl
35 */
36 public interface FieldBuilder {
37
38
39 /**
40 * <p>
41 * Builds the fields.
42 * </p>
43 *
44 * @param fields
45 * The fields.
46 * @param target
47 * The target.
48 * @param context
49 * The context.
50 * @throws IllegalArgumentException
51 * If any of the parameters are <code>null</code>.
52 * @throws IOException
53 * If an I/O error occurs.
54 * @throws BuildException
55 * If an error occurs during the building.
56 */
57 void buildFields(List<Field> fields, DataTarget target, Context context) throws IOException, BuildException;
58
59
60 }