Class RegexRequestURLBuilder

java.lang.Object
org.opensaml.saml.metadata.resolver.impl.RegexRequestURLBuilder
All Implemented Interfaces:
Function<CriteriaSet,String>

public class RegexRequestURLBuilder extends Object implements Function<CriteriaSet,String>
Function which produces a URL by evaluating a supplied regular expression against the criteria entity ID, and applying the result to a supplied replacement string.

The function uses standard Java regular expression components from the java.util.regex package. It is therefore helpful to have an understanding of the use of these Java classes.

The runtime logic is effectively:

 Pattern pattern = Pattern.compile(regex);
 Matcher matcher = pattern.matcher(entityID);
 if (matcher.matches()) {
   return matcher.replaceAll(replacement);
 else {
   return null;
 }
 

For supported regular expression syntax see Pattern. For details on the replacement operation, see Matcher.replaceAll(String).

It is expected that the typical use case is that the supplied replacement string will be a combination of literal text combined with back references to the regular expression match groups, e.g. $1, $2, etc.

If the regular expression does not match the entity ID, or if there is an error in evaluating the regular expression, then null is returned.

  • Field Details

    • log

      @Nullable private final org.slf4j.Logger log
      Logger.
    • pattern

      private Pattern pattern
      The compiled pattern.
    • template

      private String template
      The replacement template.
  • Constructor Details

    • RegexRequestURLBuilder

      public RegexRequestURLBuilder(@Nonnull @NotEmpty String regex, @Nonnull @NotEmpty String replacement)
      Constructor.
      Parameters:
      regex - the regular expression against which to evaluate the entity ID
      replacement - the replacement template string.
  • Method Details