private final List<SchemaNodeBuilder> refineBuilders = new ArrayList<SchemaNodeBuilder>();\r
private final List<RefineHolder> refines = new ArrayList<RefineHolder>();\r
\r
- private final Set<DataSchemaNodeBuilder> targetChildren = new HashSet<>();\r
- private final Set<GroupingBuilder> targetGroupings = new HashSet<>();\r
- private final Set<TypeDefinitionBuilder> targetTypedefs = new HashSet<>();\r
- private final List<UnknownSchemaNodeBuilder> targetUnknownNodes = new ArrayList<>();\r
+ private final Set<DataSchemaNodeBuilder> finalChildren = new HashSet<>();\r
+ private Set<DataSchemaNodeBuilder> targetChildren;\r
+\r
+ private final Set<GroupingBuilder> finalGroupings = new HashSet<>();\r
+ private Set<GroupingBuilder> targetGroupings;\r
+\r
+ private final Set<TypeDefinitionBuilder> finalTypedefs = new HashSet<>();\r
+ private Set<TypeDefinitionBuilder> targetTypedefs;\r
+\r
+ private final List<UnknownSchemaNodeBuilder> finalUnknownNodes = new ArrayList<>();\r
+ private List<UnknownSchemaNodeBuilder> targetUnknownNodes;\r
+\r
+ private final List<UsesNodeBuilder> targetGroupingUses = new ArrayList<>();\r
+\r
+ boolean loadDone;\r
+\r
+ public boolean isLoadDone() {\r
+ return loadDone;\r
+ }\r
+\r
+ public void setLoadDone(boolean loadDone) {\r
+ this.loadDone = loadDone;\r
+ }\r
\r
public UsesNodeBuilderImpl(final String moduleName, final int line, final String groupingName) {\r
super(moduleName, line);\r
this.groupingName = groupingName;\r
}\r
\r
- public UsesNodeBuilderImpl(UsesNodeBuilder b) {\r
- super(b.getModuleName(), b.getLine());\r
- groupingName = b.getGroupingName();\r
- parent = b.getParent();\r
- groupingPath = b.getGroupingPath();\r
- augmenting = b.isAugmenting();\r
- addedByUses = b.isAddedByUses();\r
- addedAugments.addAll(b.getAugmentations());\r
- refineBuilders.addAll(b.getRefineNodes());\r
- refines.addAll(b.getRefines());\r
- }\r
-\r
@Override\r
public UsesNode build() {\r
if (!isBuilt) {\r
\r
isBuilt = true;\r
}\r
+\r
return instance;\r
}\r
\r
\r
@Override\r
public void addRefineNode(DataSchemaNodeBuilder refineNode) {\r
- // add to refine nodes\r
refineBuilders.add(refineNode);\r
- // replace in target children\r
- DataSchemaNodeBuilder toRemove = null;\r
- for(DataSchemaNodeBuilder child : targetChildren) {\r
- if(child.getQName().equals(refineNode.getQName())) {\r
- toRemove = child;\r
- break;\r
- }\r
- }\r
- targetChildren.remove(toRemove);\r
- targetChildren.add(refineNode);\r
}\r
\r
@Override\r
refines.add(refine);\r
}\r
\r
+ @Override\r
+ public Set<DataSchemaNodeBuilder> getFinalChildren() {\r
+ return finalChildren;\r
+ }\r
+\r
@Override\r
public Set<DataSchemaNodeBuilder> getTargetChildren() {\r
return targetChildren;\r
}\r
\r
+ @Override\r
+ public void setTargetChildren(Set<DataSchemaNodeBuilder> targetChildren) {\r
+ this.targetChildren = targetChildren;\r
+ }\r
+\r
+ @Override\r
+ public Set<GroupingBuilder> getFinalGroupings() {\r
+ return finalGroupings;\r
+ }\r
+\r
@Override\r
public Set<GroupingBuilder> getTargetGroupings() {\r
return targetGroupings;\r
}\r
\r
+ @Override\r
+ public void setTargetGroupings(Set<GroupingBuilder> targetGroupings) {\r
+ this.targetGroupings = targetGroupings;\r
+ }\r
+\r
+ @Override\r
+ public Set<TypeDefinitionBuilder> getFinalTypedefs() {\r
+ return finalTypedefs;\r
+ }\r
+\r
@Override\r
public Set<TypeDefinitionBuilder> getTargetTypedefs() {\r
return targetTypedefs;\r
}\r
\r
+ @Override\r
+ public void setTargetTypedefs(Set<TypeDefinitionBuilder> targetTypedefs) {\r
+ this.targetTypedefs = targetTypedefs;\r
+ }\r
+\r
+ @Override\r
+ public List<UnknownSchemaNodeBuilder> getFinalUnknownNodes() {\r
+ return finalUnknownNodes;\r
+ }\r
+\r
@Override\r
public List<UnknownSchemaNodeBuilder> getTargetUnknownNodes() {\r
return targetUnknownNodes;\r
}\r
\r
+ @Override\r
+ public void setTargetUnknownNodes(List<UnknownSchemaNodeBuilder> targetUnknownNodes) {\r
+ this.targetUnknownNodes = targetUnknownNodes;\r
+ }\r
+\r
+ @Override\r
+ public List<UsesNodeBuilder> getTargetGroupingUses() {\r
+ return targetGroupingUses;\r
+ }\r
+\r
@Override\r
public int hashCode() {\r
final int prime = 31;\r