]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.repo/src/org/eclipse/aether/artifact/ArtifactType.java
Use released Argeo Build
[gpl/argeo-slc.git] / org.argeo.slc.repo / src / org / eclipse / aether / artifact / ArtifactType.java
1 /*******************************************************************************
2 * Copyright (c) 2010, 2014 Sonatype, Inc.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * Sonatype, Inc. - initial API and implementation
10 *******************************************************************************/
11 package org.eclipse.aether.artifact;
12
13 import java.util.Map;
14
15 /**
16 * An artifact type describing artifact characteristics/properties that are common for certain artifacts. Artifact types
17 * are a means to simplify the description of an artifact by referring to an artifact type instead of specifying the
18 * various properties individually.
19 *
20 * @noimplement This interface is not intended to be implemented by clients.
21 * @noextend This interface is not intended to be extended by clients.
22 * @see ArtifactTypeRegistry
23 * @see DefaultArtifact#DefaultArtifact(String, String, String, String, String, ArtifactType)
24 */
25 public interface ArtifactType
26 {
27
28 /**
29 * Gets the identifier of this type, e.g. "maven-plugin" or "test-jar".
30 *
31 * @return The identifier of this type, never {@code null}.
32 * @see ArtifactProperties#TYPE
33 */
34 String getId();
35
36 /**
37 * Gets the file extension to use for artifacts of this type (unless explicitly overridden by the artifact).
38 *
39 * @return The usual file extension, never {@code null}.
40 */
41 String getExtension();
42
43 /**
44 * Gets the classifier to use for artifacts of this type (unless explicitly overridden by the artifact).
45 *
46 * @return The usual classifier or an empty string if none, never {@code null}.
47 */
48 String getClassifier();
49
50 /**
51 * Gets the properties to use for artifacts of this type (unless explicitly overridden by the artifact).
52 *
53 * @return The (read-only) properties, never {@code null}.
54 * @see ArtifactProperties
55 */
56 Map<String, String> getProperties();
57
58 }