Class FilterTemplate


  • public class FilterTemplate
    extends Object
    LDAP filter template. This class is immutable.

    Example filter template with a "%u" placeholder:

     (|(uid=%u)(mail=%u))
     
    • Constructor Detail

      • FilterTemplate

        public FilterTemplate​(String template,
                              String placeholder)
        Creates a new filter template.
        Parameters:
        template - The filter template. Must contain one or more placeholders. Must not be null.
        placeholder - The placeholder, e.g. "%u". Must not be null.
        Throws:
        IllegalArgumentException - If the template doesn't contain at least one placeholder or doesn't represent a valid LDAP filter.
      • FilterTemplate

        public FilterTemplate​(String template)
        Creates a new filter template with a "%u" placeholder.
        Parameters:
        template - The filter template. Must contain one or more "%u" placeholders. Must not be null.
        Throws:
        IllegalArgumentException - If the template doesn't contain at least one placeholder or doesn't represent a valid LDAP filter.
    • Method Detail

      • getTemplate

        public String getTemplate()
        Gets the template.
        Returns:
        The template.
      • apply

        public String apply​(String param)
        Applies the specified parameter to this filter template and returns the resulting LDAP filter string. Special filter characters in the parameter are escaped.

        Example:

        Template: "(|(uid=%u)(mail=%u))"

        Placeholder: "%u"

        Parameter: "alice"

        Resulting filter: "(|(uid=alice)(mail=alice))"

        Parameters:
        param - The parameter to apply. Must not be null.
        Returns:
        The resulting LDAP filter string.
      • toString

        public String toString()
        Returns a string representation of this filter template.
        Overrides:
        toString in class Object
        Returns:
        The string representation of this filter template.
        See Also:
        getTemplate()