Interface PrismItemMatchingDefinition<T>

All Known Subinterfaces:
NativeShadowSimpleAttributeDefinition<T>, PrismItemMatchingDefinition.Delegable<T>, PrismPropertyDefinition<T>, PrismPropertyWrapper<T>, PropertyDefinitionDelegator<T>, ResourceAttributeDefinitionDelegator<T>, ResourceAttributeWrapper<T>, ShadowSimpleAttributeDefinition<T>
All Known Implementing Classes:
AuthenticationAttemptWrapper, ExpressionWrapper, NativeShadowAttributeDefinitionImpl, NormalizationAwareResourceAttributeDefinition, PrismItemMatchingDefinition.Data, PrismPropertyWrapperImpl, ProtectedStringTypeWrapperImpl, ResourceAttributeWrapperImpl, ShadowSimpleAttributeDefinitionImpl

public interface PrismItemMatchingDefinition<T>
How values are matched/compared. Currently used only for properties, but nothing precludes the use for other items.
  • Method Details

    • getTypeName

      QName getTypeName()
      Should be provided elsewhere. Here it's just used.
    • getTypeClass

      default Class<T> getTypeClass()
    • getMatchingRuleQName

      QName getMatchingRuleQName()
      Returns matching rule name. Matching rules are algorithms that specify how to compare, normalize and/or order the values. E.g. there are matching rules for case insensitive string comparison, for LDAP DNs, etc. TODO describe the semantics where special normalizations are to be used Use with care until this description is complete.
      Returns:
      matching rule name
    • getMatchingRule

      @NotNull default @NotNull MatchingRule<T> getMatchingRule()
      Returns the resolved MatchingRule for this property.
    • getNormalizer

      @NotNull default @NotNull Normalizer<T> getNormalizer()
      Returns the normalizer that is to be applied when the normalized form of this property is to be computed. For polystring-typed properties (that are assumed to be already normalized) it returns "no-op" normalizer.
    • getStringNormalizerForPolyStringProperty

      @NotNull default @NotNull Normalizer<String> getStringNormalizerForPolyStringProperty()
      Returns the normalizer that is to be applied for PolyString properties. Throws an exception if not applicable.
    • getStringNormalizerIfApplicable

      @Nullable default @Nullable Normalizer<String> getStringNormalizerIfApplicable()
    • isCustomPolyString

      default boolean isCustomPolyString()
      TODO