1 /*
2 * dpkg - Debian Package library and the Debian Package Maven plugin
3 * (c) Copyright 2015 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.control;
20
21
22 /**
23 * <p>
24 * The control of a Debian package.
25 * </p>
26 * <p>
27 * See <a href="https://www.debian.org/doc/debian-policy/ch-controlfields.html">
28 * Chapter 5 - Control files and their fields</a> for further information.
29 * </p>
30 *
31 * @author Gerrit Hohl (gerrit-hohl@users.sourceforge.net)
32 * @version <b>1.0</b>, 31.12.2015 by Gerrit Hohl
33 */
34 public interface Control {
35
36
37 /**
38 * <p>
39 * Returns the source package dependency.
40 * </p>
41 * <p>
42 * If the control is the control of a source package this package dependency
43 * contains only the package name.
44 * </p>
45 * <p>
46 * If the control is the control of a binary package this package dependency
47 * is the dependency on the corresponding source packages maybe including a
48 * version.
49 * </p>
50 *
51 * @return The package dependency.
52 */
53 PackageDependency getSource();
54
55
56 /**
57 * <p>
58 * Returns the version of the package.
59 * </p>
60 *
61 * @return The version.
62 */
63 PackageVersion getVersion();
64
65
66 /**
67 * <p>
68 * Returns the architecture.
69 * </p>
70 *
71 * @return The architecture.
72 */
73 Architecture getArchitecture();
74
75
76 /**
77 * <p>
78 * Returns the multiple architecture property.
79 * </p>
80 *
81 * @return The multiple architecture property.
82 */
83 PackageMultiArchitecture getMultiArchitecture();
84
85
86 /**
87 * <p>
88 * Returns the maintainer.
89 * </p>
90 *
91 * @return The maintainer.
92 */
93 PackageMaintainer getMaintainer();
94
95
96 /**
97 * <p>
98 * Returns the original maintainer.
99 * </p>
100 *
101 * @return The original maintainer.
102 */
103 PackageMaintainer getOriginalMaintainer();
104
105
106 /**
107 * <p>
108 * Returns the homepage.
109 * </p>
110 *
111 * @return The homepage.
112 */
113 Homepage getHomepage();
114
115
116 }