Class DefaultUrlMappingsHolder

  • All Implemented Interfaces:
    UrlMappings, UrlMappingsHolder

    public class DefaultUrlMappingsHolder
    extends java.lang.Object
    implements UrlMappings
    Default implementation of the UrlMappingsHolder interface that takes a list of mappings and then sorts them according to their precedence rules as defined in the implementation of Comparable.
    Since:
    0.4
    See Also:
    UrlMapping, Comparable
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Collection<UrlMapping> addMappings​(groovy.lang.Closure mappings)
      Adds URL mappings to the current definition for the given closure
      java.util.Set<org.springframework.http.HttpMethod> allowedMethods​(java.lang.String uri)
      Return the allowed HTTP methods for the given URI
      java.util.List getExcludePatterns()
      Retrieves the held Exclude Pattern instances as a list, could be null if there is no exclude
      UrlCreator getReverseMapping​(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.lang.String httpMethod, java.lang.String version, java.util.Map params)
      Retrieves the best guess of a URI for the given controller, action and parameters
      UrlCreator getReverseMapping​(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.lang.String httpMethod, java.util.Map params)
      Retrieves the best guess of a URI for the given controller, action and parameters
      UrlCreator getReverseMapping​(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.util.Map params)
      Retrieves the best guess of a URI for the given controller, action and parameters
      UrlCreator getReverseMapping​(java.lang.String controller, java.lang.String action, java.lang.String pluginName, java.util.Map params)
      Retrieves the best guess of a URI for the given controller, action and parameters
      UrlCreator getReverseMapping​(java.lang.String controller, java.lang.String action, java.util.Map params)
      Retrieves the best guess of a URI for the given controller, action and parameters
      UrlCreator getReverseMappingNoDefault​(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.lang.String httpMethod, java.lang.String version, java.util.Map params)
      Retrieves the best guess of a URI for the given controller, action and parameters or null if non could be found.
      UrlCreator getReverseMappingNoDefault​(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.lang.String httpMethod, java.util.Map params)
      Retrieves the best guess of a URI for the given controller, action and parameters or null if non could be found.
      UrlCreator getReverseMappingNoDefault​(java.lang.String controller, java.lang.String action, java.util.Map params)
      Retrieves the best guess of a URI for the given controller, action and parameters or null if non could be found.
      UrlMapping[] getUrlMappings()
      Retrieves the held UrlMapping instances as an array
      void initialize()  
      protected UrlMapping lookupMapping​(java.lang.String controller, java.lang.String action, java.lang.String namespace, java.lang.String pluginName, java.lang.String httpMethod, java.lang.String version, java.util.Map params)
      Performs a match uses reverse mappings to looks up a mapping from the controller, action and params.
      UrlMappingInfo match​(java.lang.String uri)
      Match and return the first UrlMappingInfo instance possible
      UrlMappingInfo[] matchAll​(java.lang.String uri)
      Matches all possible UrlMappingInfo instances to the given URI and returns them all
      UrlMappingInfo[] matchAll​(java.lang.String uri, java.lang.String httpMethod)
      Match all possible UrlMappingInfo instances to the given URI and HTTP method
      UrlMappingInfo[] matchAll​(java.lang.String uri, java.lang.String httpMethod, java.lang.String version)
      Match all possible UrlMappingInfo instances to the given URI and HTTP method
      UrlMappingInfo[] matchAll​(java.lang.String uri, org.springframework.http.HttpMethod httpMethod)
      Match all possible UrlMappingInfo instances to the given URI and HTTP method
      UrlMappingInfo[] matchAll​(java.lang.String uri, org.springframework.http.HttpMethod httpMethod, java.lang.String version)
      Match all possible UrlMappingInfo instances to the given URI and HTTP method
      UrlMappingInfo matchStatusCode​(int responseCode)
      Match and return the first UrlMappingInfo instance possible
      UrlMappingInfo matchStatusCode​(int responseCode, java.lang.Throwable e)
      Match and return for first UrlMappingInfo for the give response code and exception
      void setMaxWeightedCacheCapacity​(int maxWeightedCacheCapacity)  
      void setUrlCreatorMaxWeightedCacheCapacity​(int urlCreatorMaxWeightedCacheCapacity)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

    • Constructor Detail

      • DefaultUrlMappingsHolder

        public DefaultUrlMappingsHolder​(java.util.List<UrlMapping> mappings)
      • DefaultUrlMappingsHolder

        public DefaultUrlMappingsHolder​(java.util.List<UrlMapping> mappings,
                                        java.util.List excludePatterns)
      • DefaultUrlMappingsHolder

        public DefaultUrlMappingsHolder​(java.util.List<UrlMapping> mappings,
                                        java.util.List excludePatterns,
                                        boolean doNotCallInit)
    • Method Detail

      • addMappings

        public java.util.Collection<UrlMapping> addMappings​(groovy.lang.Closure mappings)
        Description copied from interface: UrlMappings
        Adds URL mappings to the current definition for the given closure
        Specified by:
        addMappings in interface UrlMappings
        Parameters:
        mappings - The mappings
        Returns:
        Only the added mappings. To obtain all mappings use UrlMappingsHolder.getUrlMappings()
      • initialize

        public void initialize()
      • getExcludePatterns

        public java.util.List getExcludePatterns()
        Description copied from interface: UrlMappingsHolder
        Retrieves the held Exclude Pattern instances as a list, could be null if there is no exclude
        Specified by:
        getExcludePatterns in interface UrlMappingsHolder
        Returns:
        An list of String
      • getReverseMapping

        public UrlCreator getReverseMapping​(java.lang.String controller,
                                            java.lang.String action,
                                            java.util.Map params)
        Description copied from interface: UrlMappingsHolder
        Retrieves the best guess of a URI for the given controller, action and parameters
        Specified by:
        getReverseMapping in interface UrlMappingsHolder
        Parameters:
        controller - The name of the controller
        action - The name of the action or null
        params - The parameters or null
        Returns:
        A URI for the given arguments
      • getReverseMapping

        public UrlCreator getReverseMapping​(java.lang.String controller,
                                            java.lang.String action,
                                            java.lang.String pluginName,
                                            java.util.Map params)
        Description copied from interface: UrlMappingsHolder
        Retrieves the best guess of a URI for the given controller, action and parameters
        Specified by:
        getReverseMapping in interface UrlMappingsHolder
        Parameters:
        controller - The name of the controller
        action - The name of the action or null
        pluginName - the name of the plugin which provides the controller
        params - The parameters or null
        Returns:
        A URI for the given arguments
      • getReverseMapping

        public UrlCreator getReverseMapping​(java.lang.String controller,
                                            java.lang.String action,
                                            java.lang.String namespace,
                                            java.lang.String pluginName,
                                            java.lang.String httpMethod,
                                            java.util.Map params)
        Description copied from interface: UrlMappingsHolder
        Retrieves the best guess of a URI for the given controller, action and parameters
        Specified by:
        getReverseMapping in interface UrlMappingsHolder
        Parameters:
        controller - The name of the controller
        action - The name of the action or null
        namespace - The controller namespace
        pluginName - the name of the plugin which provides the controller
        httpMethod - The HTTP method to reverse map
        params - The parameters or null
        Returns:
        A URI for the given arguments
      • getReverseMapping

        public UrlCreator getReverseMapping​(java.lang.String controller,
                                            java.lang.String action,
                                            java.lang.String namespace,
                                            java.lang.String pluginName,
                                            java.lang.String httpMethod,
                                            java.lang.String version,
                                            java.util.Map params)
        Description copied from interface: UrlMappingsHolder
        Retrieves the best guess of a URI for the given controller, action and parameters
        Specified by:
        getReverseMapping in interface UrlMappingsHolder
        Parameters:
        controller - The name of the controller
        action - The name of the action or null
        namespace - The controller namespace
        pluginName - the name of the plugin which provides the controller
        httpMethod - The HTTP method to reverse map
        version - The version of the mapping
        params - The parameters or null
        Returns:
        A URI for the given arguments
      • getReverseMapping

        public UrlCreator getReverseMapping​(java.lang.String controller,
                                            java.lang.String action,
                                            java.lang.String namespace,
                                            java.lang.String pluginName,
                                            java.util.Map params)
        Description copied from interface: UrlMappingsHolder
        Retrieves the best guess of a URI for the given controller, action and parameters
        Specified by:
        getReverseMapping in interface UrlMappingsHolder
        Parameters:
        controller - The name of the controller
        action - The name of the action or null
        namespace - The controller namespace or null
        pluginName - the name of the plugin which provides the controller
        params - The parameters or null
        Returns:
        A URI for the given arguments
        See Also:
        UrlMappingsHolder.getReverseMapping(String, String, java.util.Map)
      • getReverseMappingNoDefault

        public UrlCreator getReverseMappingNoDefault​(java.lang.String controller,
                                                     java.lang.String action,
                                                     java.util.Map params)
        Description copied from interface: UrlMappingsHolder
        Retrieves the best guess of a URI for the given controller, action and parameters or null if non could be found.
        Specified by:
        getReverseMappingNoDefault in interface UrlMappingsHolder
        Parameters:
        controller - The name of the controller
        action - The name of the action or null
        params - The parameters or null
        Returns:
        A URI for the given arguments
      • getReverseMappingNoDefault

        public UrlCreator getReverseMappingNoDefault​(java.lang.String controller,
                                                     java.lang.String action,
                                                     java.lang.String namespace,
                                                     java.lang.String pluginName,
                                                     java.lang.String httpMethod,
                                                     java.util.Map params)
        Description copied from interface: UrlMappingsHolder
        Retrieves the best guess of a URI for the given controller, action and parameters or null if non could be found.
        Specified by:
        getReverseMappingNoDefault in interface UrlMappingsHolder
        Parameters:
        controller - The name of the controller
        action - The name of the action or null
        namespace - The controller namespace or null
        pluginName - the name of the plugin which provides the controller
        httpMethod - the HTTP method
        params - The parameters or null
        Returns:
        A URI for the given arguments
      • getReverseMappingNoDefault

        public UrlCreator getReverseMappingNoDefault​(java.lang.String controller,
                                                     java.lang.String action,
                                                     java.lang.String namespace,
                                                     java.lang.String pluginName,
                                                     java.lang.String httpMethod,
                                                     java.lang.String version,
                                                     java.util.Map params)
        Description copied from interface: UrlMappingsHolder
        Retrieves the best guess of a URI for the given controller, action and parameters or null if non could be found.
        Specified by:
        getReverseMappingNoDefault in interface UrlMappingsHolder
        Parameters:
        controller - The name of the controller
        action - The name of the action or null
        namespace - The controller namespace or null
        pluginName - the name of the plugin which provides the controller
        httpMethod - the HTTP method
        params - The parameters or null
        Returns:
        A URI for the given arguments
      • lookupMapping

        protected UrlMapping lookupMapping​(java.lang.String controller,
                                           java.lang.String action,
                                           java.lang.String namespace,
                                           java.lang.String pluginName,
                                           java.lang.String httpMethod,
                                           java.lang.String version,
                                           java.util.Map params)
        Performs a match uses reverse mappings to looks up a mapping from the controller, action and params. This is refactored to use a list of mappings identified by only controller and action and then matches the mapping to select the mapping that best matches the params (most possible matches).
        Parameters:
        controller - The controller name
        action - The action name
        httpMethod - The HTTP method
        version -
        params - The params @return A UrlMapping instance or null
      • matchAll

        public UrlMappingInfo[] matchAll​(java.lang.String uri)
        Description copied from interface: UrlMappingsHolder
        Matches all possible UrlMappingInfo instances to the given URI and returns them all
        Specified by:
        matchAll in interface UrlMappingsHolder
        Parameters:
        uri - The URI to match
        Returns:
        An array of 0 or many UrlMappngInfo instances
      • matchAll

        public UrlMappingInfo[] matchAll​(java.lang.String uri,
                                         java.lang.String httpMethod)
        Description copied from interface: UrlMappingsHolder
        Match all possible UrlMappingInfo instances to the given URI and HTTP method
        Specified by:
        matchAll in interface UrlMappingsHolder
        Parameters:
        uri - The URI to match
        httpMethod - The HTTP method (GET,POST,PUT,DELETE etc.)
        Returns:
        An array of 0 or many UrlMappingInfo instances
      • matchAll

        public UrlMappingInfo[] matchAll​(java.lang.String uri,
                                         java.lang.String httpMethod,
                                         java.lang.String version)
        Description copied from interface: UrlMappingsHolder
        Match all possible UrlMappingInfo instances to the given URI and HTTP method
        Specified by:
        matchAll in interface UrlMappingsHolder
        Parameters:
        uri - The URI to match
        httpMethod - The HTTP method (GET,POST,PUT,DELETE etc.)
        version - The version of the API
        Returns:
        An array of 0 or many UrlMappingInfo instances
      • matchAll

        public UrlMappingInfo[] matchAll​(java.lang.String uri,
                                         org.springframework.http.HttpMethod httpMethod)
        Description copied from interface: UrlMappingsHolder
        Match all possible UrlMappingInfo instances to the given URI and HTTP method
        Specified by:
        matchAll in interface UrlMappingsHolder
        Parameters:
        uri - The URI to match
        httpMethod - The HTTP method (GET,POST,PUT,DELETE etc.)
        Returns:
        An array of 0 or many UrlMappingInfo instances
      • matchAll

        public UrlMappingInfo[] matchAll​(java.lang.String uri,
                                         org.springframework.http.HttpMethod httpMethod,
                                         java.lang.String version)
        Description copied from interface: UrlMappingsHolder
        Match all possible UrlMappingInfo instances to the given URI and HTTP method
        Specified by:
        matchAll in interface UrlMappingsHolder
        Parameters:
        uri - The URI to match
        httpMethod - The HTTP method (GET,POST,PUT,DELETE etc.)
        version - The version
        Returns:
        An array of 0 or many UrlMappingInfo instances
      • matchStatusCode

        public UrlMappingInfo matchStatusCode​(int responseCode)
        Description copied from interface: UrlMappingsHolder
        Match and return the first UrlMappingInfo instance possible
        Specified by:
        matchStatusCode in interface UrlMappingsHolder
        Parameters:
        responseCode - The responseCode to match
        Returns:
        A UrlMappingInfo or null
      • allowedMethods

        public java.util.Set<org.springframework.http.HttpMethod> allowedMethods​(java.lang.String uri)
        Description copied from interface: UrlMappingsHolder
        Return the allowed HTTP methods for the given URI
        Specified by:
        allowedMethods in interface UrlMappingsHolder
        Parameters:
        uri - The URI
        Returns:
        The allowed methods
      • matchStatusCode

        public UrlMappingInfo matchStatusCode​(int responseCode,
                                              java.lang.Throwable e)
        Description copied from interface: UrlMappingsHolder
        Match and return for first UrlMappingInfo for the give response code and exception
        Specified by:
        matchStatusCode in interface UrlMappingsHolder
        Parameters:
        responseCode - The response code
        e - The exception
        Returns:
        The UrlMappingInfo instance
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • setMaxWeightedCacheCapacity

        public void setMaxWeightedCacheCapacity​(int maxWeightedCacheCapacity)
      • setUrlCreatorMaxWeightedCacheCapacity

        public void setUrlCreatorMaxWeightedCacheCapacity​(int urlCreatorMaxWeightedCacheCapacity)