1 package com
.intellij
.packaging
.artifacts
;
3 import com
.intellij
.openapi
.extensions
.ExtensionPointName
;
4 import com
.intellij
.openapi
.extensions
.Extensions
;
5 import com
.intellij
.packaging
.elements
.CompositePackagingElement
;
6 import com
.intellij
.packaging
.elements
.PackagingElement
;
7 import com
.intellij
.packaging
.elements
.PackagingElementResolvingContext
;
8 import com
.intellij
.packaging
.ui
.ArtifactValidationManager
;
9 import com
.intellij
.packaging
.ui
.PackagingSourceItem
;
10 import org
.jetbrains
.annotations
.NonNls
;
11 import org
.jetbrains
.annotations
.NotNull
;
12 import org
.jetbrains
.annotations
.Nullable
;
15 import java
.util
.List
;
20 public abstract class ArtifactType
{
21 public static final ExtensionPointName
<ArtifactType
> EP_NAME
= ExtensionPointName
.create("com.intellij.packaging.artifactType");
22 private final String myId
;
23 private final String myTitle
;
25 protected ArtifactType(@NonNls String id
, String title
) {
30 public final String
getId() {
34 public String
getPresentableName() {
39 public abstract Icon
getIcon();
42 public abstract String
getDefaultPathFor(@NotNull PackagingSourceItem sourceItem
);
45 public abstract String
getDefaultPathFor(@NotNull PackagingElement
<?
> element
, @NotNull PackagingElementResolvingContext context
);
47 public boolean isSuitableItem(@NotNull PackagingSourceItem sourceItem
) {
51 public static ArtifactType
[] getAllTypes() {
52 return Extensions
.getExtensions(EP_NAME
);
56 public static ArtifactType
findById(@NotNull @NonNls String id
) {
57 for (ArtifactType type
: getAllTypes()) {
58 if (id
.equals(type
.getId())) {
66 public abstract CompositePackagingElement
<?
> createRootElement(@NotNull String artifactName
);
68 public void checkRootElement(@NotNull CompositePackagingElement
<?
> rootElement
, @NotNull Artifact artifact
, @NotNull ArtifactValidationManager manager
) {
72 public List
<?
extends PackagingElement
<?
>> getSubstitution(@NotNull Artifact artifact
, @NotNull PackagingElementResolvingContext context
,
73 @NotNull ArtifactType parentType
) {