Interface ExtensionPointType
-
- All Superinterfaces:
java.lang.Comparable<ExtensionPointType>
,java.io.Serializable
- All Known Implementing Classes:
ADAuthProperties.AuthType
,ADHybridProperties.AuthType
,ADtoDBHybridAuthProperties.AuthType
,AlarmNotificationProfileType
,AlertNotificationProfileType
,AlertStorageProfileType
,AuditProfileType
,BaseExtensionPointType
,DBAuthProperties.AuthType
,EdgeHistorianProviderType
,InternalAuthenticationType
,LegacyTagHistorianProviderType
,LocalHistorianProviderType
,OpcConnectionType
,RemoteHistorianProviderType
,StandardTagHistorianProviderType
,TagHistorianProviderType
,TagHistoryProviderType
,TagHistorySplitterProviderType
,TagProviderExtensionPointType
,TaskExtensionPointType
,UserSourceProfileType
public interface ExtensionPointType extends java.lang.Comparable<ExtensionPointType>, java.io.Serializable
Base interface for types that define new extension points on the Ignition framework. For example, an authentication profile is an extension point: modules may add new types of authentication profiles as a way of extending the framework. The AuthenticationProfileType interface (and many others) extend from this one.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addRecordInstanceActions(org.apache.wicket.markup.repeater.RepeatingView view, IConfigPage configPage, ConfigPanel parentPanel, PersistentRecord mainRecord, PersistentRecord subRecord)
Provides the extension point type an opportunity to insert custom record action links.java.lang.String
getDescription()
A resource key for a description of what makes this type unique.java.lang.String
getName()
A resource key for a human-readable name for this type.ReferenceField<?>
getSettingsRecordForeignKey()
If a settings record type is defined, return the foreign key field that references the main record typeRecordMeta<? extends PersistentRecord>
getSettingsRecordType()
Defines a PersistentRecord type that will be used to add type-specific properties.java.lang.String
getTypeId()
A string that uniquely identifies this profile type.boolean
isEnabled()
A flag that indicates whether this type is currently enabled (true) or deprecated (false).ConfigPanel
newRecordConfigPanel(PersistentRecord[] records, IConfigPage configPage, ConfigPanel parentPanel)
Creates a new ConfigPanel that will be used when the user creates a new record of this extension point type.void
onRecordDestroyed(PersistenceSession session, PersistentRecord mainRecord, PersistentRecord subRecord)
Will be called when a profile of this extension point type is deleted, providing an opportunity to do any related cleanup.
-
-
-
Method Detail
-
getTypeId
java.lang.String getTypeId()
A string that uniquely identifies this profile type.
-
getName
java.lang.String getName()
A resource key for a human-readable name for this type. Required.
-
getDescription
java.lang.String getDescription()
A resource key for a description of what makes this type unique. Null or empty string allowed for no description.
-
isEnabled
boolean isEnabled()
A flag that indicates whether this type is currently enabled (true) or deprecated (false). Useful for when you want to discontinue the use of a profile, but it needs to stick around for backwards-compatibility purposes. A false value will prevent users from making new instances of this type.
-
getSettingsRecordType
@Nullable RecordMeta<? extends PersistentRecord> getSettingsRecordType()
Defines a PersistentRecord type that will be used to add type-specific properties. Optional. If null is returned, it is assumed that no extra properties are needed for this type of profile.- Returns:
- the meta of the settings record type for this object
-
getSettingsRecordForeignKey
ReferenceField<?> getSettingsRecordForeignKey()
If a settings record type is defined, return the foreign key field that references the main record type
-
newRecordConfigPanel
ConfigPanel newRecordConfigPanel(PersistentRecord[] records, IConfigPage configPage, ConfigPanel parentPanel)
Creates a new ConfigPanel that will be used when the user creates a new record of this extension point type. Will be shown after the extension point choice panel.- 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)configPage
- The parent IConfigPage that can be used to navigate to new config panels.parentPanel
- The parent RecordActionTable that should be returned to when the configuration is complete.- Returns:
- A new ConfigPanel, or null to indicate that no custom configuration is desired, and a standard RecordEditForm should be used.
-
addRecordInstanceActions
void addRecordInstanceActions(org.apache.wicket.markup.repeater.RepeatingView view, IConfigPage configPage, ConfigPanel parentPanel, PersistentRecord mainRecord, PersistentRecord subRecord)
Provides the extension point type an opportunity to insert custom record action links. Will appear between "edit" and "delete".
Note: This method changed in 7.9. Previously, the method was called "getRecordInstanceActions", and returned a list of actions. Now, it must add its actions directly to the provided view.
- Parameters:
view
- The RepeatingView that the action will be added to. Use "view.newChildId()" to get the id for your action, and then add the action to the view.configPage
- The IConfigPage that will hold the ConfigPanel returned by the action when clicked.parentPanel
- The ConfigPanel that the link will live on. Used to navigate back, if necessary.mainRecord
- The main profile record.subRecord
- The sub-settings profile record (if any).
-
onRecordDestroyed
void onRecordDestroyed(PersistenceSession session, PersistentRecord mainRecord, PersistentRecord subRecord)
Will be called when a profile of this extension point type is deleted, providing an opportunity to do any related cleanup. Note that the main record and the sub record will be deleted after this is called.
-
-