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.impl;
20
21 import java.util.ArrayList;
22 import java.util.List;
23
24 import net.sourceforge.javadpkg.Script;
25
26
27 /**
28 * <p>
29 * A {@link Script} implementation.
30 * </p>
31 *
32 * @author Gerrit Hohl (gerrit-hohl@users.sourceforge.net)
33 * @version <b>1.0</b>, 02.05.2016 by Gerrit Hohl
34 */
35 public class ScriptImpl implements Script {
36
37
38 /** The lines. */
39 private List<String> lines;
40
41
42 /**
43 * <p>
44 * Creates a script.
45 * </p>
46 */
47 public ScriptImpl() {
48 super();
49
50 this.lines = new ArrayList<>();
51 }
52
53
54 /**
55 * <p>
56 * Creates a script.
57 * </p>
58 *
59 * @param lines
60 * The lines.
61 * @throws IllegalArgumentException
62 * If the lines are <code>null</code>.
63 */
64 public ScriptImpl(List<String> lines) {
65 super();
66
67 if (lines == null)
68 throw new IllegalArgumentException("Argument lines is null.");
69
70 this.lines = new ArrayList<>(lines);
71 }
72
73
74 @Override
75 public List<String> getLines() {
76 return (new ArrayList<>(this.lines));
77 }
78
79
80 @Override
81 public String getText() {
82 StringBuilder sb;
83
84
85 sb = new StringBuilder();
86 for (String line : this.lines) {
87 if (sb.length() > 0) {
88 sb.append('\n');
89 }
90 sb.append(line);
91 }
92 return sb.toString();
93 }
94
95
96 }