Make also LinkBuilder's methods and inner classes accessible for plugins

This commit is contained in:
Johannes Schnatterer
2018-08-01 14:42:41 +02:00
parent 48e940e496
commit 0592e70bc6

View File

@@ -29,7 +29,7 @@ public class LinkBuilder {
private final Class[] classes; private final Class[] classes;
private final ImmutableList<Call> calls; private final ImmutableList<Call> calls;
LinkBuilder(UriInfo uriInfo, Class... classes) { public LinkBuilder(UriInfo uriInfo, Class... classes) {
this(uriInfo, classes, ImmutableList.of()); this(uriInfo, classes, ImmutableList.of());
} }
@@ -39,25 +39,24 @@ public class LinkBuilder {
this.calls = calls; this.calls = calls;
} }
Parameters method(String method) { public Parameters method(String method) {
if (calls.size() >= classes.length) { if (calls.size() >= classes.length) {
throw new IllegalStateException("no more classes for methods"); throw new IllegalStateException("no more classes for methods");
} }
return new Parameters(method); return new Parameters(method);
} }
URI create() { public URI create() {
if (calls.size() < classes.length) { if (calls.size() < classes.length) {
throw new IllegalStateException("not enough methods for all classes"); throw new IllegalStateException("not enough methods for all classes");
} }
URI baseUri = uriInfo.getBaseUri(); URI baseUri = uriInfo.getBaseUri();
URI relativeUri = createRelativeUri(); URI relativeUri = createRelativeUri();
URI absoluteUri = baseUri.resolve(relativeUri); return baseUri.resolve(relativeUri);
return absoluteUri;
} }
String href() { public String href() {
return create().toString(); return create().toString();
} }
@@ -88,7 +87,7 @@ public class LinkBuilder {
return UriBuilder.fromResource(classes[0]); return UriBuilder.fromResource(classes[0]);
} }
class Parameters { public class Parameters {
private final String method; private final String method;
@@ -96,7 +95,7 @@ public class LinkBuilder {
this.method = method; this.method = method;
} }
LinkBuilder parameters(String... parameters) { public LinkBuilder parameters(String... parameters) {
return LinkBuilder.this.add(method, parameters); return LinkBuilder.this.add(method, parameters);
} }
} }