diff --git a/jps/model-api/src/org/jetbrains/jps/model/JpsElementType.java b/jps/model-api/src/org/jetbrains/jps/model/JpsElementType.java index 4f326b12f0cf..5ee5146b8806 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/JpsElementType.java +++ b/jps/model-api/src/org/jetbrains/jps/model/JpsElementType.java @@ -18,6 +18,11 @@ package org.jetbrains.jps.model; import org.jetbrains.annotations.NotNull; /** + * Base interface for all types of elements in JPS model + * + *
+ * Use {@link org.jetbrains.jps.model.ex.JpsElementTypeBase} as a base class for all implementations of this interface + *
* @author nik */ public interface JpsElementType{ diff --git a/jps/model-api/src/org/jetbrains/jps/model/artifact/JpsArtifactType.java b/jps/model-api/src/org/jetbrains/jps/model/artifact/JpsArtifactType.java index 68bd879e298b..fe0517838a15 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/artifact/JpsArtifactType.java +++ b/jps/model-api/src/org/jetbrains/jps/model/artifact/JpsArtifactType.java @@ -19,6 +19,11 @@ import org.jetbrains.jps.model.JpsElement; import org.jetbrains.jps.model.JpsElementType; /** + * Represents a type of artifacts in JPS model + * + *
+ * Use {@link org.jetbrains.jps.model.ex.JpsElementTypeBase} as a base class for implementations of this interface + *
* @author nik */ public interface JpsArtifactTypeextends JpsElementType
{ diff --git a/jps/model-api/src/org/jetbrains/jps/model/ex/JpsElementTypeBase.java b/jps/model-api/src/org/jetbrains/jps/model/ex/JpsElementTypeBase.java index 70b82832dae6..78946974c025 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/ex/JpsElementTypeBase.java +++ b/jps/model-api/src/org/jetbrains/jps/model/ex/JpsElementTypeBase.java @@ -21,6 +21,11 @@ import org.jetbrains.jps.model.JpsElementChildRole; import org.jetbrains.jps.model.JpsElementType; /** + * A base class for all implementations of {@link org.jetbrains.jps.model.JpsElementType}. + * + *
+ * If elements of your type don't have any specific properties extend {@link JpsElementTypeWithDummyProperties} instead. + *
* @author nik */ public abstract class JpsElementTypeBaseimplements JpsElementType
{
diff --git a/jps/model-api/src/org/jetbrains/jps/model/ex/JpsElementTypeWithDummyProperties.java b/jps/model-api/src/org/jetbrains/jps/model/ex/JpsElementTypeWithDummyProperties.java
index 9fb039c05172..630340e8d038 100644
--- a/jps/model-api/src/org/jetbrains/jps/model/ex/JpsElementTypeWithDummyProperties.java
+++ b/jps/model-api/src/org/jetbrains/jps/model/ex/JpsElementTypeWithDummyProperties.java
@@ -21,6 +21,8 @@ import org.jetbrains.jps.model.JpsElementFactory;
import org.jetbrains.jps.model.JpsElementTypeWithDefaultProperties;
/**
+ * A base class for type elements without any specific properties
+ *
* @author nik
*/
public abstract class JpsElementTypeWithDummyProperties extends JpsElementTypeBase
+ * Use {@link org.jetbrains.jps.model.ex.JpsElementTypeBase} as a base class for implementations of this interface
+ * extends JpsElementType {
diff --git a/jps/model-api/src/org/jetbrains/jps/model/module/JpsModuleSourceRootType.java b/jps/model-api/src/org/jetbrains/jps/model/module/JpsModuleSourceRootType.java
index adc98d447fe6..873664a0ff2d 100644
--- a/jps/model-api/src/org/jetbrains/jps/model/module/JpsModuleSourceRootType.java
+++ b/jps/model-api/src/org/jetbrains/jps/model/module/JpsModuleSourceRootType.java
@@ -20,6 +20,11 @@ import org.jetbrains.jps.model.JpsElementType;
import org.jetbrains.jps.model.JpsElementTypeWithDefaultProperties;
/**
+ * Represents a type of source roots of modules in JPS model.
+ *
+ *
+ * Use {@link org.jetbrains.jps.model.ex.JpsElementTypeBase} as a base class for implementations of this interface
+ * extends JpsElementType , JpsElementTypeWithDefaultProperties {
diff --git a/jps/model-api/src/org/jetbrains/jps/model/module/JpsModuleType.java b/jps/model-api/src/org/jetbrains/jps/model/module/JpsModuleType.java
index d3af4b661b4f..10c71cbea84c 100644
--- a/jps/model-api/src/org/jetbrains/jps/model/module/JpsModuleType.java
+++ b/jps/model-api/src/org/jetbrains/jps/model/module/JpsModuleType.java
@@ -19,6 +19,11 @@ import org.jetbrains.jps.model.JpsElement;
import org.jetbrains.jps.model.JpsElementType;
/**
+ * Represents a type of modules in JPS model
+ *
+ *
+ * Use {@link org.jetbrains.jps.model.ex.JpsElementTypeBase} as a base class for implementations of this interface
+ * extends JpsElementType {
diff --git a/jps/model-api/src/org/jetbrains/jps/model/runConfiguration/JpsRunConfigurationType.java b/jps/model-api/src/org/jetbrains/jps/model/runConfiguration/JpsRunConfigurationType.java
index 588453ff9b8c..ebf0ab6208fe 100644
--- a/jps/model-api/src/org/jetbrains/jps/model/runConfiguration/JpsRunConfigurationType.java
+++ b/jps/model-api/src/org/jetbrains/jps/model/runConfiguration/JpsRunConfigurationType.java
@@ -19,6 +19,11 @@ import org.jetbrains.jps.model.JpsElement;
import org.jetbrains.jps.model.JpsElementType;
/**
+ * Represents a type of run configurations in JPS model
+ *
+ *
+ * Use {@link org.jetbrains.jps.model.ex.JpsElementTypeBase} as a base class for implementations of this interface
+ * extends JpsElementType {