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 JpsArtifactType

extends 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 JpsElementTypeBase

implements 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 implements JpsElementTypeWithDefaultProperties { diff --git a/jps/model-api/src/org/jetbrains/jps/model/library/JpsLibraryType.java b/jps/model-api/src/org/jetbrains/jps/model/library/JpsLibraryType.java index bb973ecf713a..238c78e1aeeb 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/library/JpsLibraryType.java +++ b/jps/model-api/src/org/jetbrains/jps/model/library/JpsLibraryType.java @@ -19,6 +19,10 @@ import org.jetbrains.jps.model.JpsElement; import org.jetbrains.jps.model.JpsElementType; /** + * Represents a type of libraries in JPS model. + *

+ * Use {@link org.jetbrains.jps.model.ex.JpsElementTypeBase} as a base class for implementations of this interface + *

* @author nik */ public interface JpsLibraryType

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 + *

* @author nik */ public interface JpsModuleSourceRootType

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 + *

* @author nik */ public interface JpsModuleType

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 + *

* @author nik */ public interface JpsRunConfigurationType

extends JpsElementType

{