4b2565f1cff0e4d01ee3440f8f89307e4887941b
[idea/community.git] / platform / lang-impl / src / com / intellij / ide / util / projectWizard / WebProjectTemplate.java
1 /*
2  * Copyright 2000-2014 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.intellij.ide.util.projectWizard;
17
18 import com.intellij.openapi.module.WebModuleBuilder;
19 import com.intellij.openapi.module.WebModuleType;
20 import com.intellij.openapi.ui.ValidationInfo;
21 import com.intellij.platform.ProjectTemplate;
22 import com.intellij.platform.WebProjectGenerator;
23 import org.jetbrains.annotations.NotNull;
24 import org.jetbrains.annotations.Nullable;
25
26 import javax.swing.*;
27
28 /**
29  * @author Dmitry Avdeev
30  *         Date: 9/28/12
31  */
32 public abstract class WebProjectTemplate<T> extends WebProjectGenerator<T> implements ProjectTemplate {
33   @NotNull
34   @Override
35   public ModuleBuilder createModuleBuilder() {
36     return WebModuleType.getInstance().createModuleBuilder(this);
37   }
38
39   @Nullable
40   @Override
41   public ValidationInfo validateSettings() {
42     return null;
43   }
44
45   public Icon getIcon() {
46     return WebModuleBuilder.ICON;
47   }
48
49   public Icon getLogo() {
50     return getIcon();
51   }
52
53   /**
54    * Allows to postpone first start of validation
55    *
56    * @return <code>false</code> if start validation in {@link ProjectSettingsStepBase#registerValidators()} method
57    */
58   public boolean postponeValidation() {
59     return true;
60   }
61 }