[ 
https://issues.apache.org/jira/browse/JCR-2301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12753106#action_12753106
 ] 

Michael Dürig commented on JCR-2301:
------------------------------------

Instead of using inheritance for parametrization of the parser I'd use 
composition as explained above:

The parser already uses a builder (QNodeTypeDefinitionsBuilder) to build the 
final representation. That is, the parser itself is rather independent of the 
spi classes. The builder is not. I suggest to change things along the line of

class CompactNodeTypeDefReader {...} 
to 
class CompactNodeTypeDefReader<T> {...}

The constructor which now takes a QNodeTypeDefinitionsBuilder would then take a 
NodeTypeDefinitionsBuilder<T> and getNodeTypeDefinitions() would return 
List<T>. 

Like this jcr-commons and spi-commons both need to provide a builder which can 
be used with the parser. The parser itself can be reused amongst both modules. 


> CND support in jackrabbit-jcr-commons
> -------------------------------------
>
>                 Key: JCR-2301
>                 URL: https://issues.apache.org/jira/browse/JCR-2301
>             Project: Jackrabbit Content Repository
>          Issue Type: New Feature
>          Components: jackrabbit-jcr-commons, nodetype
>            Reporter: Jukka Zitting
>
> It would be nice if the CND parsing functionality in spi-commons could be 
> made available in jcr-commons for use by JCR clients that shouldn't have to 
> know anything about the SPI.

-- 
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