org.eclipse.aether.artifact.ArtifactType Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spring-cloud-contract-shade Show documentation
Show all versions of spring-cloud-contract-shade Show documentation
Spring Cloud Contract Shaded Dependencies
/*******************************************************************************
* Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Sonatype, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.aether.artifact;
import java.util.Map;
/**
* An artifact type describing artifact characteristics/properties that are common for certain artifacts. Artifact types
* are a means to simplify the description of an artifact by referring to an artifact type instead of specifying the
* various properties individually.
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
* @see ArtifactTypeRegistry
* @see DefaultArtifact#DefaultArtifact(String, String, String, String, String, ArtifactType)
*/
public interface ArtifactType
{
/**
* Gets the identifier of this type, e.g. "maven-plugin" or "test-jar".
*
* @return The identifier of this type, never {@code null}.
* @see ArtifactProperties#TYPE
*/
String getId();
/**
* Gets the file extension to use for artifacts of this type (unless explicitly overridden by the artifact).
*
* @return The usual file extension, never {@code null}.
*/
String getExtension();
/**
* Gets the classifier to use for artifacts of this type (unless explicitly overridden by the artifact).
*
* @return The usual classifier or an empty string if none, never {@code null}.
*/
String getClassifier();
/**
* Gets the properties to use for artifacts of this type (unless explicitly overridden by the artifact).
*
* @return The (read-only) properties, never {@code null}.
* @see ArtifactProperties
*/
Map getProperties();
}