![JAR search and dependency download from the Maven repository](/logo.png)
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.
}