Repository: incubator-juneau Updated Branches: refs/heads/master 5061873dd -> b2ddf9786
Add RestContext.getParentContext() to get access to parent resource. Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/b2ddf978 Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/b2ddf978 Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/b2ddf978 Branch: refs/heads/master Commit: b2ddf978695673c66623da3fc314a8ea90192342 Parents: 5061873 Author: JamesBognar <[email protected]> Authored: Sun Apr 16 19:59:57 2017 -0400 Committer: JamesBognar <[email protected]> Committed: Sun Apr 16 19:59:57 2017 -0400 ---------------------------------------------------------------------- .../java/org/apache/juneau/rest/RestContext.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/b2ddf978/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java index 2875805..65d447e 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java @@ -327,6 +327,7 @@ public final class RestContext extends Context { private final RestCallHandler callHandler; private final RestInfoProvider infoProvider; private final RestException initException; + private final RestContext parentContext; // In-memory cache of images and stylesheets in the org.apache.juneau.rest.htdocs package. private final Map<String,StreamResource> staticFilesCache = new ConcurrentHashMap<String,StreamResource>(); @@ -349,6 +350,7 @@ public final class RestContext extends Context { try { this.resource = resource; this.config = config; + this.parentContext = config.parentContext; Builder b = new Builder(resource, config); this.allowHeaderParams = b.allowHeaderParams; @@ -1023,7 +1025,7 @@ public final class RestContext extends Context { * * @return The resource object. Never <jk>null</jk>. */ - protected Object getResource() { + public Object getResource() { return resource; } @@ -1033,7 +1035,7 @@ public final class RestContext extends Context { * @return The resource object cast to {@link RestServlet}, or * <jk>null</jk> if the resource doesn't subclass from {@link RestServlet} */ - protected RestServlet getRestServlet() { + public RestServlet getRestServlet() { return resource instanceof RestServlet ? (RestServlet)resource : null; } @@ -1048,6 +1050,17 @@ public final class RestContext extends Context { } /** + * Returns the parent resource context (if this resource was initialized from a parent). + * <p> + * From this object, you can get access to the parent resource class itself using {@link #getResource()} or {@link #getRestServlet()} + * + * @return The parent resource context, or <jk>null</jk> if there is no parent context. + */ + public RestContext getParentContext() { + return parentContext; + } + + /** * Returns the {@link BeanContext} object used for parsing path variables and header values. * * @return The bean context used for parsing path variables and header values.
