All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sourceforge.javadpkg.control.BinaryControl Maven / Gradle / Ivy

/*
 * dpkg - Debian Package library and the Debian Package Maven plugin
 * (c) Copyright 2015 Gerrit Hohl
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */
package net.sourceforge.javadpkg.control;

import java.util.List;

/**
 * 

* The control of a binary package. *

* * @author Gerrit Hohl ([email protected]) * @version 1.0, 31.12.2015 by Gerrit Hohl */ public interface BinaryControl extends Control { /** *

* Returns the name of the binary package. *

* * @return The name. */ PackageName getPackage(); /** *

* Returns the section. *

*

* See * 5.6.5 Section for further information. *

* * @return The section. */ Section getSection(); /** *

* Returns the priority. *

* * @return The priority. */ PackagePriority getPriority(); /** *

* The flag if the package is essential for the system and can't be removed. *

*

* See * 5.6.9 Essential for further information. *

* * @return The flag. */ Boolean getEssential(); /** *

* Returns the packages on which this package depends on. *

*

* See * 7.2 Binary Dependencies - Depends, Recommends, Suggests, Enhances, * Pre-Depends for further information. *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getDepends(); /** *

* Returns the packages which this package has a strong, but not absolute, * dependency. *

*

* See * 7.2 Binary Dependencies - Depends, Recommends, Suggests, Enhances, * Pre-Depends for further information. *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getRecommends(); /** *

* Returns the packages which this package suggests to install for enhancing * its functionality. *

*

* The opposite of the list returned by the {@link #getEnhances()} method. *

*

* See * 7.2 Binary Dependencies - Depends, Recommends, Suggests, Enhances, * Pre-Depends for further information. *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getSuggests(); /** *

* Returns the packages which are enhanced in their functionality by this * package. *

*

* The opposite of the list returned by the {@link #getSuggests()} method. *

*

* See * 7.2 Binary Dependencies - Depends, Recommends, Suggests, Enhances, * Pre-Depends for further information. *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getEnhances(); /** *

* Returns the packages which must be installed before this package is * installed. *

*

* In comparison to the list returned by the {@link #getDepends()} method * this packages must be completely installed by the time this package is * installed and not allowed to be installed in the same process. *

*

* See * 7.2 Binary Dependencies - Depends, Recommends, Suggests, Enhances, * Pre-Depends for further information. *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getPreDepends(); /** *

* Returns the packages which will "broken" by this package. *

*

* This package can't be installed until the other packages are * deconfigured. The broken packages can't be reconfigured afterwards. *

* See * 7.3 Packages which break other packages - Breaks for further * information. *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getBreaks(); /** *

* Returns the packages which will be in conflict with this package. *

*

* The conflict packages and this package can't be installed on the same * system at the same time. *

*

* See * 7.4 Conflicting binary packages - Conflicts for further information. *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getConflicts(); /** *

* Returns the virtual packages which are provided by this package. *

*

* See * 7.5 Virtual packages - Provides for further information. *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getProvides(); /** *

* Returns the packages which are replaced by this package. *

*

* See * 7.6 Overwriting files and replacing packages - Replaces for further * information. *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getReplaces(); /** *

* Returns the packages which were used to built this package. *

*

* See * 7.8 Additional source packages used to build the binary - Built-Using *

* * @return The dependencies or an empty list, if the package doesn't have * any dependencies. */ List getBuiltUsing(); /** *

* Returns an estimate of the total amount of disk space required to install * this package. *

*

* See * for further information. *

* * @return The installed size. */ Size getInstalledSize(); /** *

* Returns the description. *

* * @return The description. */ Description getDescription(); /** *

* Returns the module aliases. *

* * @return The module aliases. */ String getModuleAliases(); // TODO Create an own class / interface for the module alias. }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy