
org.jboss.shrinkwrap.resolver.api.maven.MavenArtifactInfo Maven / Gradle / Ivy
package org.jboss.shrinkwrap.resolver.api.maven;
import org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenCoordinate;
/**
* Resolved Maven-based artifact's metadata
*
* @author Andrew Lee Rubinger
* @author Karel Piwko
* @author Michal Matloka
*/
public interface MavenArtifactInfo {
/**
* Returns the defined coordinate (i.e. address) of this resolved artifact.
*
* @return The defined coordinate (i.e. address) of this resolved artifact.
*/
MavenCoordinate getCoordinate();
/**
* Returns the resolved "version" portion of this artifact's coordinates; SNAPSHOTs may declare a version field (as
* represented by {@link MavenResolvedArtifact#getResolvedVersion()}), which must resolve to a versioned snapshot version
* number. That resolved version number is reflected by this field. In the case of true versions (i.e.
* non-SNAPSHOTs), this call will be equal to {@link MavenCoordinate#getVersion()}.
*
* @return The resolved "version" portion of this artifact's coordinates
*/
String getResolvedVersion();
/**
* Returns whether this artifact is using a SNAPSHOT version.
*
* @return Whether this artifact is using a SNAPSHOT version.
*/
boolean isSnapshotVersion();
/**
* Returns the file extension of this artifact, i.e. ("jar")
*
* @return The file extension, which is never null
*/
String getExtension();
/**
* Returns artifacts dependencies.
*
* @return Artifacts dependencies.
*/
MavenArtifactInfo[] getDependencies();
/**
* Returns the scope information of this artifact
*
* @return the scope information of this artifact
*/
ScopeType getScope();
/**
* Returns true if artifact is optional.
*
* @return return true if artifact is optional.
*/
boolean isOptional();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy