diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/AbstractMvcAuthoringStep.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/AbstractMvcAuthoringStep.java
index ae969a895..1214e41b2 100644
--- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/AbstractMvcAuthoringStep.java
+++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/AbstractMvcAuthoringStep.java
@@ -43,7 +43,8 @@ import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.UriBuilder;
/**
- *
+ * Base class for implementing authoring steps for {@link ContentItem}s.
+ *
* @author Jens Pelzetter
*/
public abstract class AbstractMvcAuthoringStep implements MvcAuthoringStep {
diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/CmsMvcAuthoringSteps.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/CmsMvcAuthoringSteps.java
index 9393c8116..4c54011e3 100644
--- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/CmsMvcAuthoringSteps.java
+++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/CmsMvcAuthoringSteps.java
@@ -34,7 +34,8 @@ import java.util.Set;
import javax.enterprise.context.ApplicationScoped;
/**
- *
+ * The class is used by
+ *
* @author Jens Pelzetter
*/
@ApplicationScoped
diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringKit.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringKit.java
index fffa0b566..05e3e1b31 100644
--- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringKit.java
+++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringKit.java
@@ -34,6 +34,9 @@ import java.lang.annotation.Target;
* class.
*
* @author Jens Pelzetter
+ *
+ * @see AbstractMvcDocumentCreateStep
+ * @see AbstractMvcAuthoringStep
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringStep.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringStep.java
index 3d7dfc037..bb79815db 100644
--- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringStep.java
+++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringStep.java
@@ -23,12 +23,18 @@ import org.librecms.contentsection.ContentItem;
import org.librecms.contentsection.ContentSection;
import javax.ws.rs.Path;
+import javax.ws.rs.core.Application;
/**
* Base interface for authoring steps. For buidling authoring steps it is
* recommanned to use the {@link AbstractMvcAuthoringStep} as base that
* implements most of the methods defined by this interface.
*
+ * To be active all authoring steps must also be added to an implementation of
+ * the {@link MvcAuthoringSteps} interface. There should be one implementation
+ * of {@link MvcAuthoringSteps} per module. For the ccm-cms module this is
+ * {@link CmsMvcAuthoringSteps}.
+ *
* @author Jens Pelzetter
*/
public interface MvcAuthoringStep {
@@ -88,10 +94,8 @@ public interface MvcAuthoringStep {
* the path of the item, the step MUST call this method to update the
* document path used by the step.
*
- * @throws
- * org.librecms.ui.contentsections.documents.ContentSectionNotFoundException
- * @throws
- * org.librecms.ui.contentsections.documents.DocumentNotFoundException
+ * @throws ContentSectionNotFoundException
+ * @throws DocumentNotFoundException
*/
void updateDocumentPath() throws ContentSectionNotFoundException,
DocumentNotFoundException;
@@ -105,10 +109,8 @@ public interface MvcAuthoringStep {
* @return The redirect path. If the the implementing class is not annotated
* with {@link Path} an empty string is returned.
*
- * @throws
- * org.librecms.ui.contentsections.documents.ContentSectionNotFoundException
- * @throws
- * org.librecms.ui.contentsections.documents.DocumentNotFoundException
+ * @throws ContentSectionNotFoundException
+ * @throws DocumentNotFoundException
*/
String buildRedirectPathForStep() throws ContentSectionNotFoundException,
DocumentNotFoundException;
@@ -123,10 +125,8 @@ public interface MvcAuthoringStep {
* @return The redirect path. If the the implemeting class is not annotated
* with {@link Path} an empty string is returned.
*
- * @throws
- * org.librecms.ui.contentsections.documents.ContentSectionNotFoundException
- * @throws
- * org.librecms.ui.contentsections.documents.DocumentNotFoundException
+ * @throws ContentSectionNotFoundException
+ * @throws DocumentNotFoundException
*/
String buildRedirectPathForStep(final String subPath) throws
ContentSectionNotFoundException, DocumentNotFoundException;
diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringSteps.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringSteps.java
index e079c5017..515d581e0 100644
--- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringSteps.java
+++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcAuthoringSteps.java
@@ -18,10 +18,17 @@
*/
package org.librecms.ui.contentsections.documents;
+import org.librecms.ui.contentsections.ContentSectionApplication;
+
import java.util.Collections;
import java.util.Set;
+import javax.enterprise.context.ApplicationScoped;
+
/**
+ * Used by {@link ContentSectionApplication} to add all authoring steps to the
+ * {@link ContentSectionApplication}. Implementation MUST be
+ * {@link ApplicationScoped} CDI beans.
*
* @author Jens Pelzetter
*/
@@ -38,8 +45,19 @@ public interface MvcAuthoringSteps {
public static final String DOCUMENT_PATH_PATH_PARAM
= DOCUMENT_PATH_PATH_PARAM_NAME + ":(.+)?";
+ /**
+ * Authoring step classes provided by the module.
+ *
+ * @return A set of the {@link MvcAuthoringStep}s provided by the module.
+ */
Set> getClasses();
+ /**
+ * Extra resource classes providing resources for the UI of the authoring
+ * step (for example JSON data).
+ *
+ * @return A set of extra resource classes used by authoring steps.
+ */
default Set> getResourceClasses() {
return Collections.emptySet();
}