package com.demandware.studio.facet;
import com.demandware.studio.projectWizard.DWModuleType;
import com.intellij.facet.Facet;
import com.intellij.facet.FacetType;
import com.intellij.facet.FacetTypeId;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.util.IconLoader;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
public class DWFacetType extends FacetType<DWFacet, DWFacetConfiguration> {
public static final String STRING_ID = "demandware";
public static final String PRESENTABLE_NAME = "Demandware";
public static final FacetTypeId<DWFacet> ID = new FacetTypeId<DWFacet>(STRING_ID);
public static final DWFacetType INSTANCE = new DWFacetType();
public DWFacetType() {
super(ID, STRING_ID, PRESENTABLE_NAME);
}
@Override
public DWFacetConfiguration createDefaultConfiguration() {
return new DWFacetConfiguration();
}
@Override
public DWFacet createFacet(@NotNull Module module, String name, @NotNull DWFacetConfiguration configuration, Facet underlyingFacet) {
return new DWFacet(this, module, name, configuration, underlyingFacet);
}
@Override
public boolean isSuitableModuleType(ModuleType moduleType) {
return moduleType instanceof DWModuleType;
}
@Override
public boolean isOnlyOneFacetAllowed() {
return true;
}
@Override
public Icon getIcon() {
return IconLoader.getIcon("/icons/demandware.png");
}
}