Interface ExtensionPointType

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