On 16.12.2013, at 04:38, Dominik Süß <[email protected]> wrote:
> There is currently a gap between the behavior of .resolve() and .getResource() > where getResource would return null and .resolve() should return a > NonExistingResource. I'm pretty sure there is a reason for that, but I > couldn't find it. Oh, yes, there is a good reason for that: - resolve() is used for request processing, where it is necessary to handle the non-existing case with the special sling:nonexisting resource type and the original path info - getResource() is the more "raw" access, similar to JCR Session.getNode() (*) Applications would always use getResource() and handle the null check. resolve() is mostly only for the sling engine, or if you have some more complex internal forwarding etc. that requires to replicate Sling's resolution behavior. (*) yes, getNode() throws an exception, but that's similar to returning null compared to returning a special NonExistingResource object Cheers, Alex
