Class SimpleURLCanonicalizer


  • public final class SimpleURLCanonicalizer
    extends Object
    This class performs simple canonicalization of a URL as follows:
    • The scheme is lower-cased.
    • The hostname is lower-cased
    • The port is removed if it is the default port registered for the scheme
    • Field Detail

      • schemePortMap

        private static Map<String,​Integer> schemePortMap
        The scheme-to-port mapping data.
    • Constructor Detail

      • SimpleURLCanonicalizer

        private SimpleURLCanonicalizer()
        Constructor to prevent instantiation.
    • Method Detail

      • registerSchemePortMapping

        public static void registerSchemePortMapping​(@Nonnull @NotEmpty
                                                     String scheme,
                                                     @Nonnull
                                                     Integer port)
        Register a new scheme-to-port mapping.
        Parameters:
        scheme - the scheme to register
        port - the default port for that scheme
      • deregisterSchemePortMapping

        public static void deregisterSchemePortMapping​(@Nonnull
                                                       String scheme)
        Deregister a scheme-to-port mapping.
        Parameters:
        scheme - the scheme to deregister
      • getRegisteredPort

        @Nullable
        public static Integer getRegisteredPort​(@Nonnull @NotEmpty
                                                String scheme)
        Obtain the default port registered for a scheme.
        Parameters:
        scheme - the scheme to look up
        Returns:
        the default port registered for the scheme, or null if none registered
      • canonicalize

        private static void canonicalize​(@Nonnull
                                         URLBuilder url)
        Canonicalize the supplied URLBuilder data.
        Parameters:
        url - the URLBuilder to canonicalize