Class ComponentRoute
- All Implemented Interfaces:
Serializable
,org.springframework.core.Ordered
Domain used for representing a "route" in the admin application. This route can be tied to a
metadata Component
using componentId
, or this route can be tied to a
non-metadata named component using componentName
.
// a route to a metadata component by ID
ComponentRoute.builder().path("/products").componentId("catalog:products:list").build();
// a route to a non-metadata component by name
ComponentRoute.builder().path("/workflow").componentName("MY_CHANGES").build();
- Author:
- Nick Crum (ncrum)
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
TheComponent.id(java.lang.String)
of theComponent
that will be rendered for this route.The name of the component that will be rendered for this route.int
getOrder()
The order of this route.getPath()
The path for this route in the admin application, e.g.Predicate<org.springframework.web.context.request.WebRequest>
APredicate
for this route.The scopes that the user must have at least one with "READ" access for this route to render.boolean
isExact()
Whether or not the route requires an exact match to render.void
setComponentId
(String componentId) TheComponent.id(java.lang.String)
of theComponent
that will be rendered for this route.void
setComponentName
(String componentName) The name of the component that will be rendered for this route.void
setExact
(boolean exact) Whether or not the route requires an exact match to render.void
setOrder
(int order) The order of this route.void
The path for this route in the admin application, e.g.void
setPredicate
(Predicate<org.springframework.web.context.request.WebRequest> predicate) APredicate
for this route.void
The scopes that the user must have at least one with "READ" access for this route to render.boolean
test
(org.springframework.web.context.request.WebRequest request) Evaluates the predicate on the givenWebRequest
.
-
Constructor Details
-
ComponentRoute
-
-
Method Details
-
test
public boolean test(org.springframework.web.context.request.WebRequest request) Evaluates the predicate on the givenWebRequest
.- Parameters:
request
- the web request- Returns:
- whether or not this route is a match for the web request
-
builder
-
getPath
The path for this route in the admin application, e.g. "/products".This supports any valid URL path that https://github.com/pillarjs/path-to-regexp/tree/v1.7.0 understands, e.g. "/products", "/products/:id", and "/categories/:id?" are all valid URL paths. Must start with a slash, and optionally may include any path parameters as necessary.
-
getComponentId
TheComponent.id(java.lang.String)
of theComponent
that will be rendered for this route. -
getComponentName
The name of the component that will be rendered for this route. This can be used as an alternative to usingcomponentId
for non-metadata-driven components like "not found" views. This should not be used ifcomponentId
is provided. -
getScopes
The scopes that the user must have at least one with "READ" access for this route to render. If none are provided, it will be assumed the user has access. -
isExact
public boolean isExact()Whether or not the route requires an exact match to render. This is typically true, but can be set to false when you have a component that needs support for sub-routes.
Setting this to
Boolean.FALSE
will allow partial matching of the url. See the table below for how exact and non-exact routes work.path location.pathname exact matches? /one
/one/two
true
no /one
/one/two
false
yes Refer to https://reacttraining.com/react-router/web/api/Route/exact-bool for more details.
-
getOrder
public int getOrder()The order of this route. This can be used to ensure that routes are returned in a certain order. The ordering of routes can matter as a route that is provided earlier takes precedence over a route provided later.
As an example, take a route with a path of "/products/create" and one with a path of "/products/:id". If "/products/create" comes after "/products/:id", then it will never be matched, because they are equal precedence and "/products/:id" will match first.
- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
-
getPredicate
APredicate
for this route. This will be used to evaluate whether or not this route should be returned for a givenWebRequest
. -
setPath
The path for this route in the admin application, e.g. "/products".This supports any valid URL path that https://github.com/pillarjs/path-to-regexp/tree/v1.7.0 understands, e.g. "/products", "/products/:id", and "/categories/:id?" are all valid URL paths. Must start with a slash, and optionally may include any path parameters as necessary.
-
setComponentId
TheComponent.id(java.lang.String)
of theComponent
that will be rendered for this route. -
setComponentName
The name of the component that will be rendered for this route. This can be used as an alternative to usingcomponentId
for non-metadata-driven components like "not found" views. This should not be used ifcomponentId
is provided. -
setScopes
The scopes that the user must have at least one with "READ" access for this route to render. If none are provided, it will be assumed the user has access. -
setExact
public void setExact(boolean exact) Whether or not the route requires an exact match to render. This is typically true, but can be set to false when you have a component that needs support for sub-routes.
Setting this to
Boolean.FALSE
will allow partial matching of the url. See the table below for how exact and non-exact routes work.path location.pathname exact matches? /one
/one/two
true
no /one
/one/two
false
yes Refer to https://reacttraining.com/react-router/web/api/Route/exact-bool for more details.
-
setOrder
public void setOrder(int order) The order of this route. This can be used to ensure that routes are returned in a certain order. The ordering of routes can matter as a route that is provided earlier takes precedence over a route provided later.
As an example, take a route with a path of "/products/create" and one with a path of "/products/:id". If "/products/create" comes after "/products/:id", then it will never be matched, because they are equal precedence and "/products/:id" will match first.
-
setPredicate
APredicate
for this route. This will be used to evaluate whether or not this route should be returned for a givenWebRequest
.
-