Class ComponentRoute
- java.lang.Object
-
- com.broadleafcommerce.metadata.route.ComponentRoute
-
- All Implemented Interfaces:
Serializable,org.springframework.core.Ordered
public class ComponentRoute extends Object implements Serializable, org.springframework.core.Ordered
Domain used for representing a "route" in the admin application. This route can be tied to a metadata
ComponentusingcomponentId, or this route can be tied to a non-metadata named component usingcomponentName.// 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:
for the java method of providing routes, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classComponentRoute.ComponentRouteBuilder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ComponentRoute.ComponentRouteBuilderbuilder()StringgetComponentId()TheComponent.id(java.lang.String)of theComponentthat will be rendered for this route.StringgetComponentName()The name of the component that will be rendered for this route.intgetOrder()The order of this route.StringgetPath()The path for this route in the admin application, e.g.Predicate<org.springframework.web.context.request.WebRequest>getPredicate()APredicatefor this route.List<String>getScopes()The scopes that the user must have at least one with "READ" access for this route to render.booleanisExact()Whether or not the route requires an exact match to render.voidsetComponentId(String componentId)TheComponent.id(java.lang.String)of theComponentthat will be rendered for this route.voidsetComponentName(String componentName)The name of the component that will be rendered for this route.voidsetExact(boolean exact)Whether or not the route requires an exact match to render.voidsetOrder(int order)The order of this route.voidsetPath(String path)The path for this route in the admin application, e.g.voidsetPredicate(Predicate<org.springframework.web.context.request.WebRequest> predicate)APredicatefor this route.voidsetScopes(List<String> scopes)The scopes that the user must have at least one with "READ" access for this route to render.booleantest(org.springframework.web.context.request.WebRequest request)Evaluates the predicate on the givenWebRequest.
-
-
-
Method Detail
-
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
public static ComponentRoute.ComponentRouteBuilder builder()
-
getPath
public String 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
public String getComponentId()
TheComponent.id(java.lang.String)of theComponentthat will be rendered for this route.
-
getComponentName
public String getComponentName()
The name of the component that will be rendered for this route. This can be used as an alternative to usingcomponentIdfor non-metadata-driven components like "not found" views. This should not be used ifcomponentIdis provided.
-
getScopes
public List<String> 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.FALSEwill 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/twotrueno /one/one/twofalseyes 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:
getOrderin interfaceorg.springframework.core.Ordered
-
getPredicate
public Predicate<org.springframework.web.context.request.WebRequest> getPredicate()
APredicatefor this route. This will be used to evaluate whether or not this route should be returned for a givenWebRequest.
-
setPath
public void setPath(String path)
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
public void setComponentId(String componentId)
TheComponent.id(java.lang.String)of theComponentthat will be rendered for this route.
-
setComponentName
public void setComponentName(String componentName)
The name of the component that will be rendered for this route. This can be used as an alternative to usingcomponentIdfor non-metadata-driven components like "not found" views. This should not be used ifcomponentIdis provided.
-
setScopes
public void setScopes(List<String> scopes)
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.FALSEwill 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/twotrueno /one/one/twofalseyes 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.
-
-