![JAR search and dependency download from the Maven repository](/logo.png)
net.sourceforge.javadpkg.Copyright Maven / Gradle / Ivy
/*
* dpkg - Debian Package library and the Debian Package Maven plugin
* (c) Copyright 2016 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;
import java.util.List;
import java.util.Map;
/**
*
* The copyright of a Debian package.
*
*
* @author Gerrit Hohl ([email protected])
* @version 1.0, 04.05.2016 by Gerrit Hohl
*/
public interface Copyright {
/**
*
* Returns the format of the copyright.
*
*
* A format is specified by an URI of the format specification.
*
*
* Example:
* http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
*
*
*
* @return The format.
*/
String getFormat();
/**
*
* Returns the name upstream uses for the software.
*
*
* Example:
SOFTware
*
*
* @return The name or null
, if no name is set.
*/
String getUpstreamName();
/**
*
* Returns the upstream contact.
*
*
* The preferred address(es) to reach the upstream project. May be free-form
* text, but by convention will usually be written as a list of RFC5322
* addresses or URIs.
*
*
* Example:
* John Doe <[email protected]>
*
*
* @return The contact or null
, if no contact is set.
*/
String getUpstreamContact();
/**
*
* Returns the source.
*
*
* Formatted text, no synopsis: an explanation of where the upstream source
* came from. Typically this would be a URL, but it might be a free-form
* explanation.
*
*
* Example:
* http://www.example.com/software/project
*
*
* @return The source or null
, if no source is set.
*/
String getSource();
/**
*
* Returns the disclaimer.
*
*
* Formatted text, no synopsis: this field is used for non-free or contrib
* packages to state that they are not part of Debian and to explain why.
*
*
* @return The disclaimer or null
, if no disclaimer is set.
*/
String getDisclaimer();
/**
*
* Returns the comment.
*
*
* Formatted text, no synopsis: this field can provide additional
* information. For example, it might quote an e-mail from upstream
* justifying why the license is acceptable to the main archive, or an
* explanation of how this version of the package has been forked from a
* version known to be DFSG-free, even though the current upstream version
* is not.
*
*
* @return The comment or null
, if no comment is set.
*/
String getComment();
/**
*
* Returns the license.
*
*
* The returned license can be reference to one of the licenses returned by
* the {@link #getLicenses()} method.
*
*
* @return The license or null
, if no license is set.
*/
CopyrightLicense getLicense();
/**
*
* Returns the copyright.
*
*
* Example:
Copyright 2008 John Smith
* Copyright 2009 Angela Watts
*
*
* @return The copyright or null
, if no copyright is set.
*/
String getCopyright();
/**
*
* Returns the copyrights for certain files of a Debian package.
*
*
* @return The copyrights.
*/
List getFilesCopyrights();
/**
*
* Returns the licenses referred by this copyright or one of copyrights for
* certain files.
*
*
* @return The licenses.
* @see #getLicense()
* @see #getFilesCopyrights()
* @see FilesCopyright#getLicense()
*/
Map getLicenses();
}