View Javadoc

1   package org.sonatype.aether.artifact;
2   
3   /*******************************************************************************
4    * Copyright (c) 2010-2011 Sonatype, Inc.
5    * All rights reserved. This program and the accompanying materials
6    * are made available under the terms of the Eclipse Public License v1.0
7    * which accompanies this distribution, and is available at
8    *   http://www.eclipse.org/legal/epl-v10.html
9    *******************************************************************************/
10  
11  import java.util.Map;
12  
13  /**
14   * An artifact type describing artifact characteristics that are common for certain artifacts. Artifact types are a
15   * means to simplify the description of an artifact by referring to an artifact type instead of specifying the various
16   * properties individually.
17   * 
18   * @author Benjamin Bentmann
19   */
20  public interface ArtifactType
21  {
22  
23      /**
24       * Gets the identifier of this type, e.g. "maven-plugin" or "test-jar".
25       * 
26       * @return The identifier of this type, never {@code null}.
27       */
28      String getId();
29  
30      /**
31       * Gets the file extension to use for artifacts of this type (unless explicitly overridden by the artifact).
32       * 
33       * @return The file extension, never {@code null}.
34       */
35      String getExtension();
36  
37      /**
38       * Gets the classifier to use for artifacts of this type (unless explicitly overridden by the artifact).
39       * 
40       * @return The classifier or an empty string if none, never {@code null}.
41       */
42      String getClassifier();
43  
44      /**
45       * Gets the properties to use for artifacts of this type (unless explicitly overridden by the artifact).
46       * 
47       * @return The properties, never {@code null}.
48       */
49      Map<String, String> getProperties();
50  
51  }