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(); }