Class ExtensionPointPage<R extends PersistentRecord>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, org.apache.wicket.IConverterLocator, org.apache.wicket.markup.html.IHeaderContributor, org.apache.wicket.request.component.IRequestableComponent, org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>, org.apache.wicket.util.io.IClusterable
    Direct Known Subclasses:
    AbstractTaskPage

    public abstract class ExtensionPointPage<R extends PersistentRecord>
    extends RecordActionTable<R>
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class org.apache.wicket.markup.html.panel.Panel

        PANEL
      • Fields inherited from class org.apache.wicket.Component

        ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addCustomRecordInstanceActions​(org.apache.wicket.markup.repeater.RepeatingView view, R main)
      Adds record instance actions defined by the extension point type of the given record
      protected void addRecordInstanceActions​(org.apache.wicket.markup.repeater.RepeatingView view, R main)
      Provides an opportunity to add any actions that deal with specific record instances.
      protected org.apache.wicket.model.IModel<java.util.List<R>> createRecordModel​(RecordMeta<R> meta)  
      protected void doDeleteRelatedRecords​(PersistenceSession session, R main)
      Provides a chance for subclasses to delete any related records before this record is deleted.
      protected PersistentRecord findSubRecord​(R main)
      Finds the main record's sub-settings record, or null if there is none.
      protected PersistentRecord findSubRecord​(R main, boolean createIfMissing)
      Finds the extension point's settings record, if any.
      protected abstract ExtensionPointManager getExtensionPointManager()  
      protected StringField getExtensionPointTypeField()
      Return the field in the master class that represents the extension point type.
      protected java.lang.String getFieldValue​(R record, FormMeta formMeta)  
      protected boolean includeTypeInModel​(ExtensionPointType extensionPointType)
      Returns whether or not the particular record should be included in the record model.
      protected org.apache.wicket.markup.html.WebMarkupContainer newEditRecordAction​(java.lang.String id, R record)  
      protected org.apache.wicket.markup.html.WebMarkupContainer newRecordAction​(java.lang.String id)
      Overridden to create a new ExtensionPointChoicePanel that lets the user choose the type of extension point record to create.
      protected void onExtensionPointChosen​(PersistentRecord[] records, ExtensionPointType extensionPoint)
      Called when a new record is being created, after the user has chosen the extension point type.
      • Methods inherited from class org.apache.wicket.markup.html.panel.Panel

        newMarkupSourcingStrategy
      • Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer

        getWebPage, getWebRequest, getWebResponse, getWebSession
      • Methods inherited from class org.apache.wicket.MarkupContainer

        add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
      • Methods inherited from class org.apache.wicket.Component

        add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onComponentTag, onConfigure, onDetach, onEvent, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, visitParents, warn, wrap
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • ExtensionPointPage

        public ExtensionPointPage​(IConfigPage configPage)
      • ExtensionPointPage

        public ExtensionPointPage​(IConfigPage configPage,
                                  java.lang.String id)
      • ExtensionPointPage

        public ExtensionPointPage​(IConfigPage configPage,
                                  org.apache.wicket.model.IModel<? extends java.util.List<? extends R>> model)
    • Method Detail

      • getExtensionPointTypeField

        protected StringField getExtensionPointTypeField()
        Return the field in the master class that represents the extension point type. Looks for a field named "Type" by default.
      • includeTypeInModel

        protected boolean includeTypeInModel​(ExtensionPointType extensionPointType)
        Returns whether or not the particular record should be included in the record model. Provides subclasses with the ability to filter out records. Default implementation always returns true.
      • newRecordAction

        protected org.apache.wicket.markup.html.WebMarkupContainer newRecordAction​(java.lang.String id)
        Overridden to create a new ExtensionPointChoicePanel that lets the user choose the type of extension point record to create. After they choose the extension point type, it brings them to the standard RecordEditForm for the newly created record.
        Overrides:
        newRecordAction in class RecordActionTable<R extends PersistentRecord>
      • onExtensionPointChosen

        protected void onExtensionPointChosen​(PersistentRecord[] records,
                                              ExtensionPointType extensionPoint)
        Called when a new record is being created, after the user has chosen the extension point type.

        Default behavior is to go to a RecordEditForm, or to the extension point's custom config panel if one is specified.

        Parameters:
        records - Length will be 1 or 2. Index 0 will always contain the master record for the extension point manager. Index 1 will contain the extension-point specific sub-record (if applicable)
        extensionPoint - The type of extension point that the user chose.
      • addRecordInstanceActions

        protected void addRecordInstanceActions​(org.apache.wicket.markup.repeater.RepeatingView view,
                                                R main)
        Description copied from class: RecordActionTable
        Provides an opportunity to add any actions that deal with specific record instances. Default actions are added for edit and delete.
        Overrides:
        addRecordInstanceActions in class RecordActionTable<R extends PersistentRecord>
      • addCustomRecordInstanceActions

        protected void addCustomRecordInstanceActions​(org.apache.wicket.markup.repeater.RepeatingView view,
                                                      R main)
        Adds record instance actions defined by the extension point type of the given record
      • findSubRecord

        protected PersistentRecord findSubRecord​(R main)
        Finds the main record's sub-settings record, or null if there is none.
      • findSubRecord

        protected PersistentRecord findSubRecord​(R main,
                                                 boolean createIfMissing)
        Finds the extension point's settings record, if any.
        Parameters:
        main - The main profile record
        createIfMissing - If this flag is true, a sub-settings record will be created if it is missing.
        Returns:
        The sub-settings record if found or created, null otherwise