@ Override public void dispatch ( ParameterResolveFactory parameterResolveFactory , ActionParam param , Route route , Object [ ] args ) { if ( ! route . isRegex ( ) ) return ; Matcher matcher = route . getMatcher ( ) ; String [ ] pathParameters = new String [ matcher . groupCount ( ) ] ; for ( int i = 1 , len = matcher . groupCount ( ) ; i <= len ; i ++ ) { pathParameters [ i - 1 ] = matcher . group ( i ) ; } Map < String , String > path = new HashMap <> ( ) ; route . getRegexRoute ( ) . getNames ( ) . forEach ( name -> CollectionKit . MapAdd ( path , name , matcher . group ( name ) ) ) ; param . getRequest ( ) . setPathNamedParameters ( path ) ; param . getRequest ( ) . setPathParameters ( pathParameters ) ; }
prepare to resolve path parameters