public interface PathBinding
PathBinder
Modifier and Type | Field and Description |
---|---|
static com.google.common.reflect.TypeToken<PathBinding> |
TYPE
A type token for this type.
|
Modifier and Type | Method and Description |
---|---|
PathTokens |
getAllTokens()
Similar to
getTokens() except that tokens of all parent bindings are included. |
java.lang.String |
getBoundTo()
The path of the request path that was bound to.
|
java.lang.String |
getDescription()
Describes the kind of path that this binder binds to.
|
java.lang.String |
getPastBinding()
The section of the path that is "past" where the binding bound to.
|
PathTokens |
getTokens()
Any tokens that the binding has extracted from the path.
|
static final com.google.common.reflect.TypeToken<PathBinding> TYPE
java.lang.String getBoundTo()
Some bindings are "prefix" bindings, in which case they will not have bound to the whole path. The bound path is always absolute.
If a prefix binder for path "a/b/c" created a binding for path "a/b/c/d/e", the "bound to" value would be "a/b/c".
java.lang.String getPastBinding()
Strict bindings may bind to an exact path, therefore there is nothing "past" what they bind to.
If a prefix binder for path "a/b/c" created a binding for path "a/b/c/d/e", the "past binding" value would be "d/e".
java.lang.String getDescription()
import ratpack.path.PathBinding;
import ratpack.test.embed.EmbeddedApp;
import static org.junit.Assert.assertEquals;
public class Example {
public static void main(String... args) throws Exception {
EmbeddedApp.fromHandlers(c -> c
.prefix(":foo/:bar?", c1 -> c1
.get("baz", ctx -> ctx.render(ctx.get(PathBinding.class).getDescription()))
)
).test(httpClient -> {
assertEquals(":foo/:bar?/baz", httpClient.getText("/a/b/baz"));
assertEquals(":foo/:bar?/baz", httpClient.getText("/c/d/baz"));
});
}
}
The spec is effectively the cumulative pattern strings used to define what to bind to.
PathTokens getTokens()
The definition of how tokens are extracted is implementation specific. Except that tokens are never extracted from the query string, only the path.
The returned map is ordered. The order of the map entries denotes the order in which the tokens were extracted.
getAllTokens()
PathTokens getAllTokens()
getTokens()
except that tokens of all parent bindings are included.
If a parent binding extracts a token with the same name as this binding, the token from this binding will supersede the value from the parent.