[ 
https://issues.apache.org/jira/browse/SLING-278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572915#action_12572915
 ] 

Felix Meschberger commented on SLING-278:
-----------------------------------------

In Rev. 631601:
   * Resource.getResourceSuperType() implementation for JCR based Resources
   * mixin node type to be able to set the sling:resourceSuperType property
   * constant for the sling:resourceSuperType property
   * utility method to retrieve the super type of a given resource type
               (JcrResourceUtil.getResourceSuperType())
   * unit tests



> Add Resource Type inheritance
> -----------------------------
>
>                 Key: SLING-278
>                 URL: https://issues.apache.org/jira/browse/SLING-278
>             Project: Sling
>          Issue Type: New Feature
>          Components: Resource, ServletResolver
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: 2.0.0
>
>
> As discussed on the dev-list [1], resource type inheritance for 
> script/servlet resolution should be implemented as follows:
>    * define an optional property sling:resourceSuperType which may take a 
> resource type used as 
>         the super type of a resource type. This property is stored at the 
> node where the scripts
>         are located for the resource type or at the node itself. (see below)
>    * the resourceSuperType of a property resource is the resourceSuperType of 
> the parent node
>         plus the property name.
>    * define a sling:ResourceSuperType mixin node type, which defines the 
> sling:resourceType
>         property for it to be attachable to any node.
>    * Add Resource.getResourceSuperType() returning the super type of the 
> resource type or
>         null if no such super type exists.
>    * Add support to the Servlet Resolver to resolve scripts not just for the 
> resource type but also
>         for the super type (if defined). This super type resolution takes 
> place before falling back
>         default scripts !
> Sample:
>     /
>     +--- types
>                 +--- type1
>                 +--- type2
>                              +--- sling:resourceSuperType = type1
>                 +--- type3
>     +--- content
>                  +--- en
>                              +--- sling:resourceType = type2
>                  +--- en
>                              +--- sling:resourceType = type2
>                              +--- sling:resourceSuperType = type3
> The resource super types are defined as follows:
>      /types/type1 --> no super type
>      /types/type2 --> type1, due to sling:resoureSuperType property
>      /content/en  --> type1, due to sling:resourceSuperType property in 
> types/type2
>      /conent/de   --> type3, due to sling:resourceSuperType property
> [1] http://www.mail-archive.com/[email protected]/msg02365.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to