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
-
- com.inductiveautomation.ignition.gateway.web.components.ConfigPanel
-
- com.inductiveautomation.ignition.gateway.web.components.RecordActionTable<R>
-
- com.inductiveautomation.ignition.gateway.web.components.ExtensionPointPage<R>
-
- 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
-
-
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
-
-
Constructor Summary
Constructors Constructor Description ExtensionPointPage(IConfigPage configPage)
ExtensionPointPage(IConfigPage configPage, java.lang.String id)
ExtensionPointPage(IConfigPage configPage, org.apache.wicket.model.IModel<? extends java.util.List<? extends R>> model)
-
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 recordprotected 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 com.inductiveautomation.ignition.gateway.web.components.RecordActionTable
addRecordActions, canDelete, createFooter, getActionParentPanel, getCalculatedFieldDisplayValue, getCalculatedFields, getDescriptiveFields, getExemptForeignKeys, getInstanceActionMaxRowCount, getNoDescriptiveFieldsKey, getNoRowsKey, getRecordMeta, getTitleKey, initComponents, newDeleteRecordAction, onBeforeRender, onDelete, setupNewRecord
-
Methods inherited from class com.inductiveautomation.ignition.gateway.web.components.ConfigPanel
getHelpResourceKey, getHelpTopicId, getMenuLocation, getMenuPath, getTipLabelKey, getTipLabelModel, getTitleModel, initTitleArea, isEscapeHtmlInTipLabel, isFeedbackEnabled, isTitleVisible, log, renderHead
-
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
-
-
-
-
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.
-
getExtensionPointManager
protected abstract ExtensionPointManager getExtensionPointManager()
-
createRecordModel
protected org.apache.wicket.model.IModel<java.util.List<R>> createRecordModel(RecordMeta<R> meta)
- Overrides:
createRecordModel
in classRecordActionTable<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 java.lang.String getFieldValue(R record, FormMeta formMeta)
- Overrides:
getFieldValue
in classRecordActionTable<R extends PersistentRecord>
-
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 classRecordActionTable<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(java.lang.String id, R record)
- Overrides:
newEditRecordAction
in classRecordActionTable<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 classRecordActionTable<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 recordcreateIfMissing
- 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 classRecordActionTable<R extends PersistentRecord>
-
-