Class FilterableSelectionFieldDescriptor

    • Constructor Detail

      • FilterableSelectionFieldDescriptor

        public FilterableSelectionFieldDescriptor​(String name,
                                                  String description)
        Creates a new FilterableSelectionFieldDescriptor.
        Parameters:
        name - the field name
        description - a helpful description of the field
    • Method Detail

      • isValidFormat

        public final boolean isValidFormat​(String selectedTypeAndId)
        Validates the format of a selectedTypeAndId string. Invalid strings are ignored by the UI.
        Parameters:
        selectedTypeAndId - a string to be checked on to see if it contains both valid search type and object id information
        Returns:
        true if the specified selectedTypeAndId is of a valid format, i.e. '[Search Type]-[Object id]'
      • getSearchableTypes

        public abstract List<FilterableSelectionFieldDescriptor.SearchableTypeConfig> getSearchableTypes()
        Gets the list of search type configurations of a FilterableSelectionFieldDescriptor instance.
        Returns:
        a list of search type configuration supported by this filterable selection field descriptor
      • parseSelectedValueForStorage

        public String parseSelectedValueForStorage​(String selectedValue)
        Parses the selected value of the filterable drop-down menu for storage.
        Parameters:
        selectedValue - selected value of the filterable drop-down menu, following the format "[search type tab title]-[selected entry ID]"
                                                       NOTE:
                                                       The search type tab title part is only useful when the filterable selection field descriptor implementation
                                                       supports multiple search types, so for implementation that supports only one search type, the tab title may
                                                       be parsed out and discarded.
        
                                                       For example, for the selected value, 'OAuth Clients-sampleOAuthClient', where 'OAuth Clients' is the search
                                                       type tab title and 'sampleOAuthClient' is the unique OAuth client ID that may be used to retrieve an OAuth
                                                       client data object from a data store, a FilterableSelectionFieldDescriptor implementation that only supports
                                                       searches over OAuth clients may have no reason to keep track of the search type, so the tab title
                                                       'OAuth Clients' may be discarded.
                                                   
        Returns:
        parsed string value based on the selectedValue to be used when the selected value is saved
      • getSelectedDisplayName

        public String getSelectedDisplayName​(String valueForStorage)
        Gets the display string value of a stored value returned by parseSelectedValueForStorage.
             For example, when a unique OAuth client ID is returned by parseSelectedValueForStorage, instead of using the
             client ID as the display string, a FilterableSelectionFieldDescriptor implementation may opt to display the
             corresponding client name of client ID instead, possibly obtained through data store query.
         
        Parameters:
        valueForStorage - typically an unique ID of a data object, e.g. a connection (system) ID, an adapter ID, or an OAuth client ID etc.
        Returns:
        drop-down box display value for the selected item
      • getFormattedValue

        public String getFormattedValue​(String value)
        Gets the formatted value, by default returns the same string value returned by getSelectedDisplayName.
        Overrides:
        getFormattedValue in class FieldDescriptor
        Parameters:
        value - typically an unique ID of a data object, e.g. a connection ID, an adapter ID, or an OAuth client ID etc.
        Returns:
        string value returned by getSelectedDisplayName