public class ControllerLinkBuilder extends LinkBuilderSupport<ControllerLinkBuilder>
Link
instances pointing to Spring MVC controllers.Modifier and Type | Method and Description |
---|---|
protected ControllerLinkBuilder |
createNewInstance(UriComponentsBuilder builder)
Creates a new instance of the sub-class.
|
protected ControllerLinkBuilder |
getThis()
Returns the current concrete instance.
|
static ControllerLinkBuilder |
linkTo(Class<?> controller)
Creates a new
ControllerLinkBuilder with a base of the mapping annotated to the given controller class. |
static ControllerLinkBuilder |
linkTo(Class<?> controller,
Map<String,?> parameters)
Creates a new
ControllerLinkBuilder with a base of the mapping annotated to the given controller class. |
static ControllerLinkBuilder |
linkTo(Class<?> controller,
Method method,
Object... parameters) |
static ControllerLinkBuilder |
linkTo(Class<?> controller,
Object... parameters)
Creates a new
ControllerLinkBuilder with a base of the mapping annotated to the given controller class. |
static ControllerLinkBuilder |
linkTo(Method method,
Object... parameters) |
static ControllerLinkBuilder |
linkTo(Object invocationValue)
Creates a
ControllerLinkBuilder pointing to a controller method. |
static <T> T |
methodOn(Class<T> controller,
Object... parameters)
Wrapper for
DummyInvocationUtils.methodOn(Class, Object...) to be available in case you work with static
imports of ControllerLinkBuilder . |
String |
toString() |
UriComponentsBuilder |
toUriComponentsBuilder()
Returns a
UriComponentsBuilder to continue to build the already built URI in a more fine grained way. |
slash, slash, slash, toUri, withRel, withSelfRel
public static ControllerLinkBuilder linkTo(Class<?> controller)
ControllerLinkBuilder
with a base of the mapping annotated to the given controller class.controller
- the class to discover the annotation on, must not be null.public static ControllerLinkBuilder linkTo(Class<?> controller, Object... parameters)
ControllerLinkBuilder
with a base of the mapping annotated to the given controller class. The
additional parameters are used to fill up potentially available path variables in the class scop request mapping.controller
- the class to discover the annotation on, must not be null.parameters
- additional parameters to bind to the URI template declared in the annotation, must not be
null.public static ControllerLinkBuilder linkTo(Class<?> controller, Map<String,?> parameters)
ControllerLinkBuilder
with a base of the mapping annotated to the given controller class.
Parameter map is used to fill up potentially available path variables in the class scope request mapping.controller
- the class to discover the annotation on, must not be null.parameters
- additional parameters to bind to the URI template declared in the annotation, must not be
null.public static ControllerLinkBuilder linkTo(Method method, Object... parameters)
public static ControllerLinkBuilder linkTo(Class<?> controller, Method method, Object... parameters)
public static ControllerLinkBuilder linkTo(Object invocationValue)
ControllerLinkBuilder
pointing to a controller method. Hand in a dummy method invocation result
you can create via methodOn(Class, Object...)
or DummyInvocationUtils.methodOn(Class, Object...)
.
@RequestMapping("/customers") class CustomerController { @RequestMapping("/{id}/addresses") HttpEntity<Addresses> showAddresses(@PathVariable Long id) { … } } Link link = linkTo(methodOn(CustomerController.class).showAddresses(2L)).withRel("addresses");The resulting
Link
instance will point to /customers/2/addresses
and have a rel of
addresses
. For more details on the method invocation constraints, see
DummyInvocationUtils.methodOn(Class, Object...)
.invocationValue
- public static <T> T methodOn(Class<T> controller, Object... parameters)
DummyInvocationUtils.methodOn(Class, Object...)
to be available in case you work with static
imports of ControllerLinkBuilder
.controller
- must not be null.parameters
- parameters to extend template variables in the type level mapping.protected ControllerLinkBuilder getThis()
LinkBuilderSupport
getThis
in class LinkBuilderSupport<ControllerLinkBuilder>
protected ControllerLinkBuilder createNewInstance(UriComponentsBuilder builder)
LinkBuilderSupport
createNewInstance
in class LinkBuilderSupport<ControllerLinkBuilder>
builder
- will never be null.public UriComponentsBuilder toUriComponentsBuilder()
UriComponentsBuilder
to continue to build the already built URI in a more fine grained way.public String toString()
toString
in class LinkBuilderSupport<ControllerLinkBuilder>
Copyright © 2012-2016–2018 Pivotal, Inc.. All rights reserved.