Skip to content

Commit a679fa4

Browse files
committed
#728 - API polishing.
Renamed LinkBuilder implementations for the different web stacks Web(MVC|Flux)LinkBuilder for symmetry. Introduced dedicated builder types to be used from WebFluxLinkBuilder to more conveniently integrate with reactive flows (see the changes in WebFluxEmployeeController). Deprecated ControllerLinkBuilder(Factory) in favor of WebMvcLinkBuilder(Factory). Generally untangled the use of WebMvcLinkBuilder from the reactive examples.
1 parent 86b7d5f commit a679fa4

24 files changed

+1848
-206
lines changed

src/main/java/org/springframework/hateoas/MethodLinkBuilderFactory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import java.lang.reflect.Method;
1919

2020
import org.springframework.hateoas.core.DummyInvocationUtils;
21-
import org.springframework.hateoas.mvc.ControllerLinkBuilder;
21+
import org.springframework.hateoas.mvc.WebMvcLinkBuilder;
2222

2323
/**
2424
* Extension of {@link LinkBuilderFactory} for implementations that also support creating {@link LinkBuilder}s by
@@ -52,9 +52,9 @@ public interface MethodLinkBuilderFactory<T extends LinkBuilder> extends LinkBui
5252
/**
5353
* Returns a {@link LinkBuilder} pointing to the URI mapped to the method the result is handed into this method. Use
5454
* {@link DummyInvocationUtils#methodOn(Class, Object...)} to obtain a dummy instance of a controller to record a
55-
* dummy method invocation on. See {@link ControllerLinkBuilder#linkTo(Object)} for an example.
56-
*
57-
* @see ControllerLinkBuilder#linkTo(Object)
55+
* dummy method invocation on. See {@link WebMvcLinkBuilder#linkTo(Object)} for an example.
56+
*
57+
* @see WebMvcLinkBuilder#linkTo(Object)
5858
* @param methodInvocationResult must not be {@literal null}.
5959
* @return
6060
*/

src/main/java/org/springframework/hateoas/config/EntityLinksConfiguration.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import org.springframework.hateoas.EntityLinks;
2323
import org.springframework.hateoas.core.ControllerEntityLinksFactoryBean;
2424
import org.springframework.hateoas.core.DelegatingEntityLinks;
25-
import org.springframework.hateoas.mvc.ControllerLinkBuilderFactory;
25+
import org.springframework.hateoas.mvc.WebMvcLinkBuilderFactory;
2626
import org.springframework.plugin.core.PluginRegistry;
2727
import org.springframework.plugin.core.support.PluginRegistryFactoryBean;
2828
import org.springframework.stereotype.Controller;
@@ -54,7 +54,7 @@ DelegatingEntityLinks delegatingEntityLinks(PluginRegistry<EntityLinks, Class<?>
5454
}
5555

5656
@Bean
57-
ControllerEntityLinksFactoryBean controllerEntityLinks(ControllerLinkBuilderFactory controllerLinkBuilderFactory) {
57+
ControllerEntityLinksFactoryBean controllerEntityLinks(WebMvcLinkBuilderFactory controllerLinkBuilderFactory) {
5858

5959
ControllerEntityLinksFactoryBean factory = new ControllerEntityLinksFactoryBean();
6060
factory.setAnnotation(Controller.class);
@@ -64,7 +64,7 @@ ControllerEntityLinksFactoryBean controllerEntityLinks(ControllerLinkBuilderFact
6464
}
6565

6666
@Bean
67-
ControllerLinkBuilderFactory controllerLinkBuilderFactoryBean() {
68-
return new ControllerLinkBuilderFactory();
67+
WebMvcLinkBuilderFactory webMvcLinkBuilderFactoryBean() {
68+
return new WebMvcLinkBuilderFactory();
6969
}
7070
}

src/main/java/org/springframework/hateoas/core/WebHandler.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import org.springframework.hateoas.LinkBuilder;
4343
import org.springframework.hateoas.TemplateVariable;
4444
import org.springframework.hateoas.TemplateVariables;
45-
import org.springframework.hateoas.mvc.ControllerLinkBuilder;
4645
import org.springframework.util.Assert;
4746
import org.springframework.util.ConcurrentReferenceHashMap;
4847
import org.springframework.util.MultiValueMap;
@@ -57,7 +56,7 @@
5756
import org.springframework.web.util.UriTemplate;
5857

5958
/**
60-
* Utility for taking a method invocation and extracting a {@link ControllerLinkBuilder}.
59+
* Utility for taking a method invocation and extracting a {@link LinkBuilder}.
6160
*
6261
* @author Greg Turnquist
6362
*/

src/main/java/org/springframework/hateoas/mvc/ControllerLinkBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@
5555
* @author Andrew Naydyonock
5656
* @author Oliver Trosien
5757
* @author Greg Turnquist
58+
* @deprecated use {@link WebMvcLinkBuilder} instead.
5859
*/
60+
@Deprecated
5961
public class ControllerLinkBuilder extends TemplateVariableAwareLinkBuilderSupport<ControllerLinkBuilder> {
6062

6163
private static final String REQUEST_ATTRIBUTES_MISSING = "Could not find current request via RequestContextHolder. Is this being called from a Spring MVC handler?";

src/main/java/org/springframework/hateoas/mvc/ControllerLinkBuilderFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@
4242
* @author Kevin Conaway
4343
* @author Andrew Naydyonock
4444
* @author Greg Turnquist
45+
* @deprecated use {@link WebMvcLinkBuilderFactory} instead.
4546
*/
47+
@Deprecated
4648
public class ControllerLinkBuilderFactory implements MethodLinkBuilderFactory<ControllerLinkBuilder> {
4749

4850
private List<UriComponentsContributor> uriComponentsContributors = new ArrayList<>();

src/main/java/org/springframework/hateoas/mvc/IdentifiableResourceAssemblerSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.springframework.hateoas.mvc;
1717

18-
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.*;
18+
import static org.springframework.hateoas.mvc.WebMvcLinkBuilder.*;
1919

2020
import java.util.Arrays;
2121

src/main/java/org/springframework/hateoas/mvc/ResourceAssemblerSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.springframework.hateoas.mvc;
1717

18-
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.*;
18+
import static org.springframework.hateoas.mvc.WebMvcLinkBuilder.*;
1919

2020
import java.util.ArrayList;
2121
import java.util.List;

0 commit comments

Comments
 (0)