Package com.spec.web.expresso.router
Class PathRouter
java.lang.Object
com.spec.web.expresso.router.PathRouter
- All Implemented Interfaces:
IPathRouter
- Direct Known Subclasses:
Expresso
Following class exectues middlewares based on http url path and http methods.
It can also register other routers,
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<MiddlewareMetaData> List of middleware metadata registered on this router -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendMiddlewareMetaData(MiddlewareMetaData middlewareMetaData) Appends a already constructed middleware metadata object to the list.voiddelete(Middleware middleware, Middleware... additionalMiddleware) Registers middlewares on a path which will only execute for HTTP DELETE methods.voiddelete(String path, Middleware middleware, Middleware... additionalMiddleware) Registers middlewares on a path which will only execute for HTTP DELETE methods.voidget(Middleware middleware, Middleware... additionalMiddleware) Registers middlewares on empty path which will only execute for HTTP get methods.voidget(String path, Middleware middleware, Middleware... additionalMiddleware) Registers middlewares on a path which will only execute for HTTP get methods.Returns the list of all middlewareMetadatas registerd on the current routervoidpost(Middleware middleware, Middleware... additionalMiddleware) Registers middlewares on empty path which will only execute for HTTP POST methods.voidpost(String path, Middleware middleware, Middleware... additionalMiddleware) Registers middlewares on a path which will only execute for HTTP POST methods.voidput(Middleware middleware, Middleware... additionalMiddleware) Registers middlewares on a path which will only execute for HTTP PUT methods.voidput(String path, Middleware middleware, Middleware... additionalMiddleware) Registers middlewares on a path which will only execute for HTTP PUT methods.registerRouterOnPath(String path) Creates a clone of current router and registers it on a path.voiduse(Middleware middleware) Registers a middleware.voiduse(MiddlewareMetaData middlewareMetaData, MiddlewareMetaData... middlewareMetaDatas) Registers a middleware metadata while also setting its path on it.voiduse(Middleware middleware, Middleware addMiddleware, Middleware... additionalMiddleware) Registers middlewares.voiduse(Middleware middleware, IPathRouter iPathRouter, IPathRouter... additionalRouters) Registers one middleware which will execute before the routers being registerd.voiduse(IPathRouter router, IPathRouter... additionalRouters) Registers routers.voiduse(String path, Middleware middleware) Registers a middleware on a path.voiduse(String path, MiddlewareMetaData middlewareMetaData, MiddlewareMetaData... middlewareMetaDatas) Registers a middleware metadata while also setting its path on it.voiduse(String path, Middleware middleware, Middleware addMiddleware, Middleware... additionalMiddleware) Registers middlewares on a path.voiduse(String path, Middleware middleware, IPathRouter iPathRouter, IPathRouter... addRouters) Registers one middleware which will execute before the routers being registerd.voiduse(String path, IPathRouter router, IPathRouter... addRouters) Registers routers on a path.
-
Field Details
-
middlewares
List of middleware metadata registered on this router
-
-
Constructor Details
-
PathRouter
public PathRouter()Constructs the class.
-
-
Method Details
-
appendMiddlewareMetaData
Appends a already constructed middleware metadata object to the list.- Parameters:
middlewareMetaData- The middleware metadata to add to the list.
-
use
public void use(Middleware middleware, Middleware addMiddleware, Middleware... additionalMiddleware) Registers middlewares. The middlewares will execute regardless of http method.- Specified by:
usein interfaceIPathRouter- Parameters:
middleware- The primary middleware to registeraddMiddleware- Additional middlewareadditionalMiddleware- more middlewares it may execute
-
use
public void use(String path, Middleware middleware, Middleware addMiddleware, Middleware... additionalMiddleware) Registers middlewares on a path. The middlewares will execute regardless of http method.- Specified by:
usein interfaceIPathRouter- Parameters:
path- The path on which the middlewares will be registered.middleware- The primary middleware to registeraddMiddleware- Additional middlewareadditionalMiddleware- Optional. More middlewares to regiter
-
use
Registers routers. All the middlewares registered on these routers will execute on current router path.- Specified by:
usein interfaceIPathRouter- Parameters:
router- The primary router to registeradditionalRouters- Optional. additional routers to register
-
use
Registers routers on a path. All the middlewares registered on these routers will execute on current router path + the registered path.- Specified by:
usein interfaceIPathRouter- Parameters:
path- The path on which the routers will be registered.router- The Primary router to registeraddRouters- Optional. additional routers to register
-
get
Registers middlewares on a path which will only execute for HTTP get methods.- Specified by:
getin interfaceIPathRouter- Parameters:
path- The path on which the middleware will be registered.middleware- Primary middleware to register.additionalMiddleware- Optional. Additional middlewares to register.
-
post
Registers middlewares on a path which will only execute for HTTP POST methods.- Specified by:
postin interfaceIPathRouter- Parameters:
path- The path on which the middleware will be registered.middleware- Primary middleware to register.additionalMiddleware- Optional. Additional middlewares to register.
-
put
Registers middlewares on a path which will only execute for HTTP PUT methods.- Specified by:
putin interfaceIPathRouter- Parameters:
path- The path on which the middleware will be registered.middleware- Primary middleware to register.additionalMiddleware- Optional. Additional middlewares to register.
-
delete
Registers middlewares on a path which will only execute for HTTP DELETE methods.- Specified by:
deletein interfaceIPathRouter- Parameters:
path- The path on which the middleware will be registered.middleware- Primary middleware to register.additionalMiddleware- Optional. Additional middlewares to register.
-
registerRouterOnPath
Creates a clone of current router and registers it on a path. The current router is unchanged.- Specified by:
registerRouterOnPathin interfaceIPathRouter- Parameters:
path- The path on which the router should be registered.- Returns:
- The new router on which is registered on the provided path.
-
getMiddlewareMetadataAsList
Returns the list of all middlewareMetadatas registerd on the current router- Specified by:
getMiddlewareMetadataAsListin interfaceIPathRouter- Returns:
- List of middlewareMetadata
-
use
public void use(String path, MiddlewareMetaData middlewareMetaData, MiddlewareMetaData... middlewareMetaDatas) Registers a middleware metadata while also setting its path on it.- Specified by:
usein interfaceIPathRouter- Parameters:
path- The path on which the middlewareMetadata should be registered.middlewareMetaData- Middlewaremetadata to Register.middlewareMetaDatas- Additional Middlewaremetadata to Register.
-
use
Registers a middleware metadata while also setting its path on it.- Specified by:
usein interfaceIPathRouter- Parameters:
middlewareMetaData- MiddlewareMetadata to register.middlewareMetaDatas- Additional middlewareMetadata's to register.
-
get
Registers middlewares on empty path which will only execute for HTTP get methods.- Specified by:
getin interfaceIPathRouter- Parameters:
middleware- Primary middleware to register.additionalMiddleware- Optional. Additional middlewares to register.
-
post
Registers middlewares on empty path which will only execute for HTTP POST methods.- Specified by:
postin interfaceIPathRouter- Parameters:
middleware- Primary middleware to register.additionalMiddleware- Optional. Additional middlewares to register.
-
put
Registers middlewares on a path which will only execute for HTTP PUT methods.- Specified by:
putin interfaceIPathRouter- Parameters:
middleware- Primary middleware to register.additionalMiddleware- Optional. Additional middlewares to register.
-
delete
Registers middlewares on a path which will only execute for HTTP DELETE methods.- Specified by:
deletein interfaceIPathRouter- Parameters:
middleware- Primary middleware to register.additionalMiddleware- Optional. Additional middlewares to register.
-
use
Registers one middleware which will execute before the routers being registerd. All the middlewares registered on these routers will execute on current router path.- Specified by:
usein interfaceIPathRouter- Parameters:
middleware- The middleware to registeriPathRouter- Router that should execute after the middleware.additionalRouters- Optional. List of routers to registers with the current middleware
-
use
public void use(String path, Middleware middleware, IPathRouter iPathRouter, IPathRouter... addRouters) Registers one middleware which will execute before the routers being registerd. All of these are registered on the a path. All the middlewares registered on these routers will execute on current router path.- Specified by:
usein interfaceIPathRouter- Parameters:
path- Path on which middleware and router's should execute.middleware- The middleware to registeriPathRouter- First router that should be registerd after the middleware.addRouters- Optional. List of routers to registers with the current middleware
-
use
Registers a middleware. The middlewares will execute regardless of http method.- Specified by:
usein interfaceIPathRouter- Parameters:
middleware- The primary middleware to register
-
use
Registers a middleware on a path. The middlewares will execute regardless of http method.- Specified by:
usein interfaceIPathRouter- Parameters:
path- The path on which the middlewares will be registered.middleware- The primary middleware to register
-