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

org.apache.maven.model.Model Maven / Gradle / Ivy

There is a newer version: 3.0.0-alpha-3
Show newest version
// =================== DO NOT EDIT THIS FILE ====================
// Generated by Modello 2.4.0,
// any modifications will be overwritten.
// ==============================================================

package org.apache.maven.model;

/**
 * 
 *         
 *         The <project> element is the root of
 * the descriptor.
 *         The following table lists all of the possible child
 * elements.
 *         
 *       
 * 
 * @version $Revision$ $Date$
 */
@SuppressWarnings( "all" )
public class Model
    extends ModelBase
    implements java.io.Serializable, java.lang.Cloneable
{

      //--------------------------/
     //- Class/Member Variables -/
    //--------------------------/

    /**
     * Declares to which version of project descriptor this POM
     * conforms.
     */
    private String modelVersion;

    /**
     * The location of the parent project, if one exists. Values
     * from the parent
     *             project will be the default for this project if
     * they are left unspecified. The location
     *             is given as a group ID, artifact ID and version.
     */
    private Parent parent;

    /**
     * 
     *             
     *             A universally unique identifier for a project.
     * It is normal to
     *             use a fully-qualified package name to
     * distinguish it from other
     *             projects with a similar name (eg.
     * org.apache.maven).
     *             
     *           
     */
    private String groupId;

    /**
     * The identifier for this artifact that is unique within the
     * group given by the
     *             group ID. An artifact is something that is
     * either produced or used by a project.
     *             Examples of artifacts produced by Maven for a
     * project include: JARs, source and binary
     *             distributions, and WARs.
     */
    private String artifactId;

    /**
     * The current version of the artifact produced by this project.
     */
    private String version;

    /**
     * 
     *             
     *             The type of artifact this project produces, for
     * example jar
     *               war
     *               ear
     *               pom.
     *             Plugins can create their own packaging, and
     *             therefore their own packaging types,
     *             so this list does not contain all possible
     * types.
     *             
     *           
     */
    private String packaging = "jar";

    /**
     * The full name of the project.
     */
    private String name;

    /**
     * A detailed description of the project, used by Maven
     * whenever it needs to
     *             describe the project, such as on the web site.
     * While this element can be specified as
     *             CDATA to enable the use of HTML tags within the
     * description, it is discouraged to allow
     *             plain text representation. If you need to modify
     * the index page of the generated web
     *             site, you are able to specify your own instead
     * of adjusting this text.
     */
    private String description;

    /**
     * 
     *             
     *             The URL to the project's homepage.
     *             
Default value is: parent value [+ * path adjustment] + (artifactId or project.directory * property), or just parent value if * project's * child.project.url.inherit.append.path="false" * * */ private String url; /** * * * When children inherit from project's url, append * path or not? Note: While the type * of this field is String for * technical reasons, the semantic type is actually * Boolean *
Default value is: true *
Since: Maven 3.6.1 * * . */ private String childProjectUrlInheritAppendPath; /** * The year of the project's inception, specified with 4 * digits. This value is * used when generating copyright notices as well * as being informational. */ private String inceptionYear; /** * This element describes various attributes of the * organization to which the * project belongs. These attributes are utilized * when documentation is created (for * copyright notices and links). */ private Organization organization; /** * Field licenses. */ private java.util.List licenses; /** * Field developers. */ private java.util.List developers; /** * Field contributors. */ private java.util.List contributors; /** * Field mailingLists. */ private java.util.List mailingLists; /** * Describes the prerequisites in the build environment for * this project. */ private Prerequisites prerequisites; /** * Specification for the SCM used by the project, such as CVS, * Subversion, etc. */ private Scm scm; /** * The project's issue management system information. */ private IssueManagement issueManagement; /** * The project's continuous integration information. */ private CiManagement ciManagement; /** * Information required to build the project. */ private Build build; /** * Field profiles. */ private java.util.List profiles; /** * Field modelEncoding. */ private String modelEncoding = "UTF-8"; //-----------/ //- Methods -/ //-----------/ /** * Method addContributor. * * @param contributor a contributor object. */ public void addContributor( Contributor contributor ) { getContributors().add( contributor ); } //-- void addContributor( Contributor ) /** * Method addDeveloper. * * @param developer a developer object. */ public void addDeveloper( Developer developer ) { getDevelopers().add( developer ); } //-- void addDeveloper( Developer ) /** * Method addLicense. * * @param license a license object. */ public void addLicense( License license ) { getLicenses().add( license ); } //-- void addLicense( License ) /** * Method addMailingList. * * @param mailingList a mailingList object. */ public void addMailingList( MailingList mailingList ) { getMailingLists().add( mailingList ); } //-- void addMailingList( MailingList ) /** * Method addProfile. * * @param profile a profile object. */ public void addProfile( Profile profile ) { getProfiles().add( profile ); } //-- void addProfile( Profile ) /** * Method clone. * * @return Model */ public Model clone() { try { Model copy = (Model) super.clone(); if ( this.parent != null ) { copy.parent = (Parent) this.parent.clone(); } if ( this.organization != null ) { copy.organization = (Organization) this.organization.clone(); } if ( this.licenses != null ) { copy.licenses = new java.util.ArrayList(); for ( License item : this.licenses ) { copy.licenses.add( ( (License) item).clone() ); } } if ( this.developers != null ) { copy.developers = new java.util.ArrayList(); for ( Developer item : this.developers ) { copy.developers.add( ( (Developer) item).clone() ); } } if ( this.contributors != null ) { copy.contributors = new java.util.ArrayList(); for ( Contributor item : this.contributors ) { copy.contributors.add( ( (Contributor) item).clone() ); } } if ( this.mailingLists != null ) { copy.mailingLists = new java.util.ArrayList(); for ( MailingList item : this.mailingLists ) { copy.mailingLists.add( ( (MailingList) item).clone() ); } } if ( this.prerequisites != null ) { copy.prerequisites = (Prerequisites) this.prerequisites.clone(); } if ( this.scm != null ) { copy.scm = (Scm) this.scm.clone(); } if ( this.issueManagement != null ) { copy.issueManagement = (IssueManagement) this.issueManagement.clone(); } if ( this.ciManagement != null ) { copy.ciManagement = (CiManagement) this.ciManagement.clone(); } if ( this.build != null ) { copy.build = (Build) this.build.clone(); } if ( this.profiles != null ) { copy.profiles = new java.util.ArrayList(); for ( Profile item : this.profiles ) { copy.profiles.add( ( (Profile) item).clone() ); } } cloneHook( copy ); return copy; } catch ( java.lang.Exception ex ) { throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName() + " does not support clone()" ).initCause( ex ); } } //-- Model clone() /** * Get the identifier for this artifact that is unique within * the group given by the * group ID. An artifact is something that is * either produced or used by a project. * Examples of artifacts produced by Maven for a * project include: JARs, source and binary * distributions, and WARs. * * @return String */ public String getArtifactId() { return this.artifactId; } //-- String getArtifactId() /** * Get information required to build the project. * * @return Build */ public Build getBuild() { return this.build; } //-- Build getBuild() /** * Get when children inherit from project's url, append path or * not? Note: While the type * of this field is String for * technical reasons, the semantic type is actually * Boolean *
Default value is: true *
Since: Maven 3.6.1. * * @return String */ public String getChildProjectUrlInheritAppendPath() { return this.childProjectUrlInheritAppendPath; } //-- String getChildProjectUrlInheritAppendPath() /** * Get the project's continuous integration information. * * @return CiManagement */ public CiManagement getCiManagement() { return this.ciManagement; } //-- CiManagement getCiManagement() /** * Method getContributors. * * @return List */ public java.util.List getContributors() { if ( this.contributors == null ) { this.contributors = new java.util.ArrayList(); } return this.contributors; } //-- java.util.List getContributors() /** * Get a detailed description of the project, used by Maven * whenever it needs to * describe the project, such as on the web site. * While this element can be specified as * CDATA to enable the use of HTML tags within the * description, it is discouraged to allow * plain text representation. If you need to modify * the index page of the generated web * site, you are able to specify your own instead * of adjusting this text. * * @return String */ public String getDescription() { return this.description; } //-- String getDescription() /** * Method getDevelopers. * * @return List */ public java.util.List getDevelopers() { if ( this.developers == null ) { this.developers = new java.util.ArrayList(); } return this.developers; } //-- java.util.List getDevelopers() /** * Get a universally unique identifier for a project. It is * normal to * use a fully-qualified package name to * distinguish it from other * projects with a similar name (eg. * org.apache.maven). * * @return String */ public String getGroupId() { return this.groupId; } //-- String getGroupId() /** * Get the year of the project's inception, specified with 4 * digits. This value is * used when generating copyright notices as well * as being informational. * * @return String */ public String getInceptionYear() { return this.inceptionYear; } //-- String getInceptionYear() /** * Get the project's issue management system information. * * @return IssueManagement */ public IssueManagement getIssueManagement() { return this.issueManagement; } //-- IssueManagement getIssueManagement() /** * Method getLicenses. * * @return List */ public java.util.List getLicenses() { if ( this.licenses == null ) { this.licenses = new java.util.ArrayList(); } return this.licenses; } //-- java.util.List getLicenses() /** * Method getMailingLists. * * @return List */ public java.util.List getMailingLists() { if ( this.mailingLists == null ) { this.mailingLists = new java.util.ArrayList(); } return this.mailingLists; } //-- java.util.List getMailingLists() /** * Get the modelEncoding field. * * @return String */ public String getModelEncoding() { return this.modelEncoding; } //-- String getModelEncoding() /** * Get declares to which version of project descriptor this POM * conforms. * * @return String */ public String getModelVersion() { return this.modelVersion; } //-- String getModelVersion() /** * Get the full name of the project. * * @return String */ public String getName() { return this.name; } //-- String getName() /** * Get this element describes various attributes of the * organization to which the * project belongs. These attributes are utilized * when documentation is created (for * copyright notices and links). * * @return Organization */ public Organization getOrganization() { return this.organization; } //-- Organization getOrganization() /** * Get the type of artifact this project produces, for example * jar * war * ear * pom. * Plugins can create their own packaging, and * therefore their own packaging types, * so this list does not contain all possible * types. * * @return String */ public String getPackaging() { return this.packaging; } //-- String getPackaging() /** * Get the location of the parent project, if one exists. * Values from the parent * project will be the default for this project if * they are left unspecified. The location * is given as a group ID, artifact ID and version. * * @return Parent */ public Parent getParent() { return this.parent; } //-- Parent getParent() /** * Get describes the prerequisites in the build environment for * this project. * * @return Prerequisites */ public Prerequisites getPrerequisites() { return this.prerequisites; } //-- Prerequisites getPrerequisites() /** * Method getProfiles. * * @return List */ public java.util.List getProfiles() { if ( this.profiles == null ) { this.profiles = new java.util.ArrayList(); } return this.profiles; } //-- java.util.List getProfiles() /** * Get specification for the SCM used by the project, such as * CVS, Subversion, etc. * * @return Scm */ public Scm getScm() { return this.scm; } //-- Scm getScm() /** * Get the URL to the project's homepage. *
Default value is: parent value [+ * path adjustment] + (artifactId or project.directory * property), or just parent value if * project's * child.project.url.inherit.append.path="false" * * @return String */ public String getUrl() { return this.url; } //-- String getUrl() /** * Get the current version of the artifact produced by this * project. * * @return String */ public String getVersion() { return this.version; } //-- String getVersion() /** * Method removeContributor. * * @param contributor a contributor object. */ public void removeContributor( Contributor contributor ) { getContributors().remove( contributor ); } //-- void removeContributor( Contributor ) /** * Method removeDeveloper. * * @param developer a developer object. */ public void removeDeveloper( Developer developer ) { getDevelopers().remove( developer ); } //-- void removeDeveloper( Developer ) /** * Method removeLicense. * * @param license a license object. */ public void removeLicense( License license ) { getLicenses().remove( license ); } //-- void removeLicense( License ) /** * Method removeMailingList. * * @param mailingList a mailingList object. */ public void removeMailingList( MailingList mailingList ) { getMailingLists().remove( mailingList ); } //-- void removeMailingList( MailingList ) /** * Method removeProfile. * * @param profile a profile object. */ public void removeProfile( Profile profile ) { getProfiles().remove( profile ); } //-- void removeProfile( Profile ) /** * Set the identifier for this artifact that is unique within * the group given by the * group ID. An artifact is something that is * either produced or used by a project. * Examples of artifacts produced by Maven for a * project include: JARs, source and binary * distributions, and WARs. * * @param artifactId a artifactId object. */ public void setArtifactId( String artifactId ) { this.artifactId = artifactId; } //-- void setArtifactId( String ) /** * Set information required to build the project. * * @param build a build object. */ public void setBuild( Build build ) { this.build = build; } //-- void setBuild( Build ) /** * Set when children inherit from project's url, append path or * not? Note: While the type * of this field is String for * technical reasons, the semantic type is actually * Boolean *
Default value is: true *
Since: Maven 3.6.1. * * @param childProjectUrlInheritAppendPath a * childProjectUrlInheritAppendPath object. */ public void setChildProjectUrlInheritAppendPath( String childProjectUrlInheritAppendPath ) { this.childProjectUrlInheritAppendPath = childProjectUrlInheritAppendPath; } //-- void setChildProjectUrlInheritAppendPath( String ) /** * Set the project's continuous integration information. * * @param ciManagement a ciManagement object. */ public void setCiManagement( CiManagement ciManagement ) { this.ciManagement = ciManagement; } //-- void setCiManagement( CiManagement ) /** * Set describes the contributors to a project that are not yet * committers. * * @param contributors a contributors object. */ public void setContributors( java.util.List contributors ) { this.contributors = contributors; } //-- void setContributors( java.util.List ) /** * Set a detailed description of the project, used by Maven * whenever it needs to * describe the project, such as on the web site. * While this element can be specified as * CDATA to enable the use of HTML tags within the * description, it is discouraged to allow * plain text representation. If you need to modify * the index page of the generated web * site, you are able to specify your own instead * of adjusting this text. * * @param description a description object. */ public void setDescription( String description ) { this.description = description; } //-- void setDescription( String ) /** * Set describes the committers of a project. * * @param developers a developers object. */ public void setDevelopers( java.util.List developers ) { this.developers = developers; } //-- void setDevelopers( java.util.List ) /** * Set a universally unique identifier for a project. It is * normal to * use a fully-qualified package name to * distinguish it from other * projects with a similar name (eg. * org.apache.maven). * * @param groupId a groupId object. */ public void setGroupId( String groupId ) { this.groupId = groupId; } //-- void setGroupId( String ) /** * Set the year of the project's inception, specified with 4 * digits. This value is * used when generating copyright notices as well * as being informational. * * @param inceptionYear a inceptionYear object. */ public void setInceptionYear( String inceptionYear ) { this.inceptionYear = inceptionYear; } //-- void setInceptionYear( String ) /** * Set the project's issue management system information. * * @param issueManagement a issueManagement object. */ public void setIssueManagement( IssueManagement issueManagement ) { this.issueManagement = issueManagement; } //-- void setIssueManagement( IssueManagement ) /** * Set this element describes all of the licenses for this * project. * Each license is described by a * license element, which * is then described by additional elements. * Projects should only list the license(s) that * applies to the project * and not the licenses that apply to dependencies. * If multiple licenses are listed, it is assumed * that the user can select * any of them, not that they must accept all. * * @param licenses a licenses object. */ public void setLicenses( java.util.List licenses ) { this.licenses = licenses; } //-- void setLicenses( java.util.List ) /** * Set contains information about a project's mailing lists. * * @param mailingLists a mailingLists object. */ public void setMailingLists( java.util.List mailingLists ) { this.mailingLists = mailingLists; } //-- void setMailingLists( java.util.List ) /** * Set the modelEncoding field. * * @param modelEncoding a modelEncoding object. */ public void setModelEncoding( String modelEncoding ) { this.modelEncoding = modelEncoding; } //-- void setModelEncoding( String ) /** * Set declares to which version of project descriptor this POM * conforms. * * @param modelVersion a modelVersion object. */ public void setModelVersion( String modelVersion ) { this.modelVersion = modelVersion; } //-- void setModelVersion( String ) /** * Set the full name of the project. * * @param name a name object. */ public void setName( String name ) { this.name = name; } //-- void setName( String ) /** * Set this element describes various attributes of the * organization to which the * project belongs. These attributes are utilized * when documentation is created (for * copyright notices and links). * * @param organization a organization object. */ public void setOrganization( Organization organization ) { this.organization = organization; } //-- void setOrganization( Organization ) /** * Set the type of artifact this project produces, for example * jar * war * ear * pom. * Plugins can create their own packaging, and * therefore their own packaging types, * so this list does not contain all possible * types. * * @param packaging a packaging object. */ public void setPackaging( String packaging ) { this.packaging = packaging; } //-- void setPackaging( String ) /** * Set the location of the parent project, if one exists. * Values from the parent * project will be the default for this project if * they are left unspecified. The location * is given as a group ID, artifact ID and version. * * @param parent a parent object. */ public void setParent( Parent parent ) { this.parent = parent; } //-- void setParent( Parent ) /** * Set describes the prerequisites in the build environment for * this project. * * @param prerequisites a prerequisites object. */ public void setPrerequisites( Prerequisites prerequisites ) { this.prerequisites = prerequisites; } //-- void setPrerequisites( Prerequisites ) /** * Set a listing of project-local build profiles which will * modify the build process * when activated. * * @param profiles a profiles object. */ public void setProfiles( java.util.List profiles ) { this.profiles = profiles; } //-- void setProfiles( java.util.List ) /** * Set specification for the SCM used by the project, such as * CVS, Subversion, etc. * * @param scm a scm object. */ public void setScm( Scm scm ) { this.scm = scm; } //-- void setScm( Scm ) /** * Set the URL to the project's homepage. *
Default value is: parent value [+ * path adjustment] + (artifactId or project.directory * property), or just parent value if * project's * child.project.url.inherit.append.path="false" * * @param url a url object. */ public void setUrl( String url ) { this.url = url; } //-- void setUrl( String ) /** * Set the current version of the artifact produced by this * project. * * @param version a version object. */ public void setVersion( String version ) { this.version = version; } //-- void setVersion( String ) private void cloneHook( Model copy ) { copy.pomFile = pomFile; } /** * The POM from which this model originated. This is transient runtime state and therefore not managed by Modello. */ private java.io.File pomFile; /** * Gets the POM file for the corresponding project (if any). * * @return The POM file from which this model originated or {@code null} if this model does not belong to a local * project (e.g. describes the metadata of some artifact from the repository). */ public java.io.File getPomFile() { return pomFile; } public void setPomFile( java.io.File pomFile ) { this.pomFile = ( pomFile != null ) ? pomFile.getAbsoluteFile() : null; } /** * Gets the base directory for the corresponding project (if any). * * @return The base directory for the corresponding project or {@code null} if this model does not belong to a local * project (e.g. describes the metadata of some artifact from the repository). */ public java.io.File getProjectDirectory() { return ( pomFile != null ) ? pomFile.getParentFile() : null; } /** * @return the model id as groupId:artifactId:packaging:version */ public String getId() { StringBuilder id = new StringBuilder( 64 ); id.append( ( getGroupId() == null ) ? "[inherited]" : getGroupId() ); id.append( ":" ); id.append( getArtifactId() ); id.append( ":" ); id.append( getPackaging() ); id.append( ":" ); id.append( ( getVersion() == null ) ? "[inherited]" : getVersion() ); return id.toString(); } @Override public String toString() { return getId(); } public boolean isChildProjectUrlInheritAppendPath() { return ( childProjectUrlInheritAppendPath != null ) ? Boolean.parseBoolean( childProjectUrlInheritAppendPath ) : true; } public void setChildProjectUrlInheritAppendPath( boolean childProjectUrlInheritAppendPath ) { this.childProjectUrlInheritAppendPath = String.valueOf( childProjectUrlInheritAppendPath ); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy