View Javadoc
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 }