Interface IPluginProfileFilterExtension
-
- All Known Implementing Classes:
AzureAdProfileAttributeFilterExtension
public interface IPluginProfileFilterExtension
Common interface for plugin profile filter extensions. Implementations must provide anattribute type
andprofile attribute options
that will be available for filtering withinuser profile conditions
on authenticators with the appropriate type used inuser filters
. For everyprofile attribute options
there must be defined an evaluation of the attribute value.- Since:
- 8.0.0
- Author:
- XIMA Media GmbH
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<IPluginProfileFilterAttribute>
getAttributeOptions(IPluginProfileFilterAttributeOptionsGetParams params)
Returns a list of profile attribute options (left-hand side) for which a single (atomic) filter can be set.@NotBlank String
getAttributeType()
Returns the type of attributes that this extension provides.List<EMatchCondition>
getMatchConditions(IPluginProfileFilterMatchConditionGetParams params)
Returns a list of available match conditions for single (atomic) filter based on the filter attribute (left-hand side) and client (IClientDescriptor
).Object
getProfileAttributeValue(IPluginProfileFilterEvaluationParams params)
Evaluates the profile attribute value for the given parameters (attribute name & profile)IPluginProfileFilterValue
getValue(IPluginProfileFilterValueGetParams params)
Returns the exactvalue
representing the.List<IPluginProfileFilterValue>
getValueOptions(IPluginProfileFilterValueOptionsGetParams params)
Returns a list of options that can be use in a single (atomic) filter as values (right-hand-side).
-
-
-
Method Detail
-
getAttributeType
@NotBlank @NotBlank String getAttributeType()
Returns the type of attributes that this extension provides. The type needs to be unique in the system and is used to distinguish different attributes from one another. Therefore the type can't be blank. The attribute type must not contain the symbol "#".- Returns:
- the type of attributes that this extension provides. Cannot be blank and cannot be
"
JSON_PATH
"!
-
getAttributeOptions
List<IPluginProfileFilterAttribute> getAttributeOptions(IPluginProfileFilterAttributeOptionsGetParams params)
Returns a list of profile attribute options (left-hand side) for which a single (atomic) filter can be set. This method should always return a complete list of the available attribute options for the given parameters (authentication client).- Parameters:
params
- Parameters with the client descriptors.- Returns:
- a list of profile attributes for which filters can be set.
-
getMatchConditions
List<EMatchCondition> getMatchConditions(IPluginProfileFilterMatchConditionGetParams params)
Returns a list of available match conditions for single (atomic) filter based on the filter attribute (left-hand side) and client (IClientDescriptor
). This limits the list of available match conditions to choose from. If the list is empty ornull
than the default list of match conditions will be available.- Parameters:
params
- for determining the list of available match conditions.- Returns:
- a list of recommended match conditions for a single (atomic) filter.
-
getValueOptions
List<IPluginProfileFilterValue> getValueOptions(IPluginProfileFilterValueOptionsGetParams params)
Returns a list of options that can be use in a single (atomic) filter as values (right-hand-side). This list can be dependent on the filter attribute (right-hand side). UnlikegetAttributeOptions(IPluginProfileFilterAttributeOptionsGetParams)
this method does not have to return a complete list of value options but rather a list of value options with appropriate entries for the given query.- Parameters:
params
- Parameters with the client descriptor and filters.- Returns:
- a list of value options for a single (atomic) filter.
-
getValue
IPluginProfileFilterValue getValue(IPluginProfileFilterValueGetParams params)
Returns the exactvalue
representing the. This is mainly used for re-displaying the filter value in the GUI with a human readabledisplay name
instead of the technical value which might / should be some form of ID.- Parameters:
params
- Parameters with the client descriptor and filters.- Returns:
- the plugin profile filter value for the given parameters
(
attribute name
&value
).
-
getProfileAttributeValue
Object getProfileAttributeValue(IPluginProfileFilterEvaluationParams params)
Evaluates the profile attribute value for the given parameters (attribute name & profile)- Parameters:
params
- containing the attribute name and user profile.- Returns:
- the value of the given profile attribute in the given user profile.
-
-