I understand the difference between the Sling Resource Type and the JCR Node type. However the resource.isResourceType is not specifically dealing with one or the other. If I had a resource of a node with a primaryNodeType of nt:file then doing resource.isResourceType("nt:file") would return true.
I had to dig through the code to see what was going on. The basic idea is that calling resource.getResourceType() will return the sling:resourceType and if that's not there then it will return the jcr:primaryType. When calling "isResourceType" it will compare against the resource.getResourceType() and if that's not a match will march of the chain of getSuperResourceType looking for a match, and that matches only against the sling:resourceType. I can sorta see where that's useful from a script resolution point of view. I find it odd overall as it's missing out on a section of inheritance. It's like having a java instanceof operator ignoring interfaces. -- Jason On Wed, Sep 10, 2014, at 01:13 PM, Paul McMahon wrote: > There isn't necessarily a mapping between Sling Resource Type and the JCR > Node type. The sling resource type is determined based on the value or > the sling:resourceType property on the node, where as the JCR Node type > is determined based on jcr:primaryType value. In most cases nodes of > sling:resourceType will always be the same jcr:primaryType, but technical > that isn't a requirement. In reality there are most jcr:primaryTypes map > to many different sling:resourceType (or no sling resource type). > > > Paul McMahon > Acquity Group, Part of Accenture Interactive > > > On Wednesday, September 10, 2014 9:56 AM, Jason E Bailey > <jason.bai...@24601.org> wrote: > > > > Lets say I have a node of type sling:Folder. > > > > Calling > > node.isNodeType("nt:folder") > > will return true, since sling:Folder extends nt:folder > > > > However > > resource.isResourceType("nt:folder") > > will return false. I'm assuming since it's attempting to > resolve up the resource heirarchy(?) > > > > My question, is there a Foo utility to determine if a given > resource is of a particular type via the node definition? > > > > TIA. > > -- > Jason E Bailey