public abstract class AbstractDocumentedDataNodeContainerBuilder extends AbstractDocumentedNodeBuilder implements DataNodeContainerBuilder {
protected final QName qname;
- protected final Map<QName, DataSchemaNode> childNodes = new TreeMap<>();
+ private final Map<QName, DataSchemaNode> childNodes = new TreeMap<>();
private final Set<DataSchemaNodeBuilder> addedChildNodes = new HashSet<>();
private final Set<GroupingDefinition> groupings = new TreeSet<>(Comparators.SCHEMA_NODE_COMP);
this.qname = qname;
}
- public AbstractDocumentedDataNodeContainerBuilder(final String moduleName, final int line, final QName qname, final SchemaPath path, final DataNodeContainer base) {
+ protected AbstractDocumentedDataNodeContainerBuilder(final String moduleName, final int line, final QName qname, final SchemaPath path, final DataNodeContainer base) {
super(moduleName, line);
this.qname = qname;
@Override
public final void addChildNode(final DataSchemaNode child) {
+ checkNotSealed();
QName childName = child.getQName();
for (DataSchemaNode childNode : childNodes.values()) {
if (childNode.getQName().equals(childName)) {
@Override
public final void addGrouping(final GroupingBuilder grouping) {
+ checkNotSealed();
QName groupingName = grouping.getQName();
for (GroupingBuilder addedGrouping : addedGroupings) {
if (addedGrouping.getQName().equals(groupingName)) {
@Override
public final void addUsesNode(final UsesNodeBuilder usesNode) {
+ checkNotSealed();
addedUsesNodes.add(usesNode);
}
@Override
public void addTypedef(final TypeDefinitionBuilder type) {
+ checkNotSealed();
String typeName = type.getQName().getLocalName();
for (TypeDefinitionBuilder addedTypedef : addedTypedefs) {
if (addedTypedef.getQName().getLocalName().equals(typeName)) {
protected abstract String getStatementName();
protected void buildChildren() {
+ checkNotSealed();
+ seal();
+
for (DataSchemaNodeBuilder node : addedChildNodes) {
childNodes.put(node.getQName(), node.build());
}