in src/main/java/org/apache/jackrabbit/filevault/maven/packaging/mojo/GenerateCndMojo.java [255:273]
private int writeNodeType(QNodeTypeDefinition ntDefinition, CompactNodeTypeDefWriter cndWriter, Set<Name> written, NodeTypeDefinitionProvider ntDefinitionProvider)
throws IOException, RepositoryException {
int numWrittenNodeTypes = 1;
cndWriter.write(ntDefinition);
written.add(ntDefinition.getName());
// also write all referenced node types
for (Name superType: ntDefinition.getSupertypes()) {
numWrittenNodeTypes += writeNodeType(superType, cndWriter, written, ntDefinitionProvider);
}
for (QNodeDefinition cntDefinition: ntDefinition.getChildNodeDefs()) {
writeNodeType(cntDefinition.getDefaultPrimaryType(), cndWriter, written, ntDefinitionProvider);
if (cntDefinition.getRequiredPrimaryTypes() != null) {
for (Name name: cntDefinition.getRequiredPrimaryTypes()) {
numWrittenNodeTypes += writeNodeType(name, cndWriter, written, ntDefinitionProvider);
}
}
}
return numWrittenNodeTypes;
}