jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sandro Böhme <sandro.boe...@gmx.de>
Subject custom node types with custom supertypes
Date Sat, 25 Jun 2005 11:05:59 GMT

at the moment when I try to register custom node types with custom
supertypes I get a "Not yet implemented" exception.
As I need this feature sooner or later for the jcr-mapping project I
would vote +1 for implementing it.

If I understand the spec the right way, every implementation of JSR 170 
should allow to register custom node types with custom supertypes and it
is not only a feature of Jackrabbit. Additionally a subtype has to
inherit all property and child node definitions of the
supertype. The inheritance of the pure node type definition(s) 
(isMandantory, isAutoCreated, defaultPrimaryType, ... without
the property and child node definitions) and the possible conflicts
with the inheritance of more than one node type definition is not part 
of the spec. Am I right with that?

The section 6.7.8 of the spec says:
"Inheritance Among Node Types
A node type may have one (or in some implementations, more than
one) supertype. A subtype inherits the property and child node
definitions of its supertype(s) (and possibly other attributes) and
may declare further property or child node definitions.
Configuring the inheritance hierarchy of node types available within
a particular repository is outside the scope of this specification. For
this reason the specification does not define how conflicts between
multiple super types are resolved or exactly which attributes of a
node type (other than its child node and property definitions) are
inherited by its subtypes. For example, the question of whether the
orderable child nodes setting of a node type is inherited by its
subtypes is left up to the particular implementation. See also, Additions to the Hierarchy.
Some repositories may support multiple inheritance of node types.
As a result, the methods for discovering node type information
must allow for the possibility that a node type has more than one
supertype. See 6.7.11 Discovering the Definition of a Node Type."

Thank you in advance for your feedback.



View raw message