Class ExtensionPointPage<R extends PersistentRecord>

java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
All Implemented Interfaces:
Serializable, 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:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.inductiveautomation.ignition.gateway.web.components.RecordActionTable

    RecordActionTable.ICalculatedField<R extends PersistentRecord>, RecordActionTable.RecordActionTableDelete
  • Field Summary

    Fields inherited from class com.inductiveautomation.ignition.gateway.web.components.RecordActionTable

    configPage

    Fields inherited from class com.inductiveautomation.ignition.gateway.web.components.ConfigPanel

    feedback, returnPanel

    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
  • Constructor Summary

    Constructors
    Constructor
    Description
     
     
    ExtensionPointPage(IConfigPage configPage, org.apache.wicket.model.IModel<? extends List<? extends R>> model)
     
  • Method Summary

    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<List<R>>
     
    protected void
    Provides a chance for subclasses to delete any related records before this record is deleted.
    Finds the main record's sub-settings record, or null if there is none.
    findSubRecord(R main, boolean createIfMissing)
    Finds the extension point's settings record, if any.
    protected abstract ExtensionPointManager
     
    protected StringField
    Return the field in the master class that represents the extension point type.
    protected String
    getFieldValue(R record, FormMeta formMeta)
     
    protected boolean
    Returns whether or not the particular record should be included in the record model.
    protected org.apache.wicket.markup.html.WebMarkupContainer
     
    protected org.apache.wicket.markup.html.WebMarkupContainer
    Overridden to create a new ExtensionPointChoicePanel that lets the user choose the type of extension point record to create.
    protected void
    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

    getWebApplication, 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, clearOriginalDestination, 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, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onComponentTag, onConfigure, onDetach, onEvent, onInitialize, onModelChanged, onModelChanging, onReAdd, 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 Details

    • ExtensionPointPage

      public ExtensionPointPage(IConfigPage configPage)
    • ExtensionPointPage

      public ExtensionPointPage(IConfigPage configPage, String id)
    • ExtensionPointPage

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

    • 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.
    • getExtensionPointManager

      protected abstract ExtensionPointManager getExtensionPointManager()
    • createRecordModel

      protected org.apache.wicket.model.IModel<List<R>> createRecordModel(RecordMeta<R> meta)
      Overrides:
      createRecordModel in class RecordActionTable<R extends PersistentRecord>
    • 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.
    • getFieldValue

      protected String getFieldValue(R record, FormMeta formMeta)
      Overrides:
      getFieldValue in class RecordActionTable<R extends PersistentRecord>
    • newRecordAction

      protected org.apache.wicket.markup.html.WebMarkupContainer newRecordAction(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.
    • newEditRecordAction

      protected org.apache.wicket.markup.html.WebMarkupContainer newEditRecordAction(String id, R record)
      Overrides:
      newEditRecordAction in class RecordActionTable<R extends PersistentRecord>
    • 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
    • doDeleteRelatedRecords

      protected void doDeleteRelatedRecords(PersistenceSession session, R main)
      Description copied from class: RecordActionTable
      Provides a chance for subclasses to delete any related records before this record is deleted. Will be called with an active SimpleORM session.
      Overrides:
      doDeleteRelatedRecords in class RecordActionTable<R extends PersistentRecord>