public abstract class FilterableSelectionFieldDescriptor extends FieldDescriptor
Modifier and Type | Class and Description |
---|---|
static class |
FilterableSelectionFieldDescriptor.FilterableSelectionFieldDefaultValidator |
static class |
FilterableSelectionFieldDescriptor.QueryParam
Admin API query string to be added to the corresponding Admin API call as defined in SearchableType.
|
static class |
FilterableSelectionFieldDescriptor.SearchableType
A SearchableType enum defines the Admin API attributes and end-point used to query data.
|
static class |
FilterableSelectionFieldDescriptor.SearchableTypeConfig
Wrapper object of SearchableType (for specifying Admin API end-point) and list of QueryParam (for specifying query strings)
|
FieldDescriptor.FieldValidationWrapper
Modifier and Type | Field and Description |
---|---|
static String |
SELECTED_VALUE_DELIMITER |
static String |
STORAGE_KEY_DELIMITER |
Constructor and Description |
---|
FilterableSelectionFieldDescriptor(String name,
String description)
Creates a new FilterableSelectionFieldDescriptor.
|
Modifier and Type | Method and Description |
---|---|
String |
getFormattedValue(String value)
Gets the formatted value, by default returns the same string value returned by getSelectedDisplayName.
|
abstract List<FilterableSelectionFieldDescriptor.SearchableTypeConfig> |
getSearchableTypes()
Gets the list of search type configurations of a FilterableSelectionFieldDescriptor instance.
|
String |
getSelectedDisplayName(String valueForStorage)
Gets the display string value of a stored value returned by parseSelectedValueForStorage.
|
boolean |
isValidFormat(String selectedTypeAndId)
Validates the format of a selectedTypeAndId string.
|
String |
parseSelectedValueForStorage(String selectedValue)
Parses the selected value of the filterable drop-down menu for storage.
|
addValidator, addValidator, getDefaultForLegacyConfig, getDefaultValue, getDescription, getLabel, getName, getValidationChain, setDefaultForLegacyConfig, setDefaultValue, setLabel
public static final String SELECTED_VALUE_DELIMITER
public static final String STORAGE_KEY_DELIMITER
public final boolean isValidFormat(String selectedTypeAndId)
selectedTypeAndId
- a string to be checked on to see if it contains both valid search type and object id informationtrue
if the specified selectedTypeAndId is of a valid format, i.e. '[Search Type]-[Object id]'public abstract List<FilterableSelectionFieldDescriptor.SearchableTypeConfig> getSearchableTypes()
public String parseSelectedValueForStorage(String selectedValue)
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.
public String getSelectedDisplayName(String valueForStorage)
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.
valueForStorage
- typically an unique ID of a data object, e.g. a connection (system) ID, an adapter ID, or an OAuth client ID etc.public String getFormattedValue(String value)
getFormattedValue
in class FieldDescriptor
value
- typically an unique ID of a data object, e.g. a connection ID, an adapter ID, or an OAuth client ID etc.Copyright 2019 Ping Identity Corp. All rights reserved.