private static LinkedHashMap<String, Node> findNamedNodeChildren(Node node) { LinkedHashMap<String, Node> nodes = new LinkedHashMap<>(); NodeClass nodeClass = NodeClass.get(node); for (Object field : nodeClass.getNodeFields()) { if (nodeClass.isChildField(field)) { Object value = nodeClass.getFieldObject(field, node); if (value != null) { nodes.put(nodeClass.getFieldName(field), (Node) value); } } else if (nodeClass.isChildrenField(field)) { Object value = nodeClass.getFieldObject(field, node); if (value != null) { Object[] children = (Object[]) value; for (int i = 0; i < children.length; i++) { if (children[i] != null) { nodes.put(nodeClass.getFieldName(field) + "[" + i + "]", (Node) children[i]); } } } } } return nodes; }
private static LinkedHashMap<String, Node> findNamedNodeChildren(Node node) { LinkedHashMap<String, Node> nodes = new LinkedHashMap<>(); NodeClass nodeClass = NodeClass.get(node); for (Object field : nodeClass.getNodeFields()) { if (nodeClass.isChildField(field)) { Object value = nodeClass.getFieldObject(field, node); if (value != null) { nodes.put(nodeClass.getFieldName(field), (Node) value); } } else if (nodeClass.isChildrenField(field)) { Object value = nodeClass.getFieldObject(field, node); if (value != null) { Object[] children = (Object[]) value; for (int i = 0; i < children.length; i++) { if (children[i] != null) { nodes.put(nodeClass.getFieldName(field) + "[" + i + "]", (Node) children[i]); } } } } } return nodes; }
sep = ", "; p.print(nodeClass.getFieldName(field)); p.print(" = "); p.print(nodeClass.getFieldValue(field, node)); for (Object field : nodeClass.getNodeFields()) { printNewLine(p, level); p.print(nodeClass.getFieldName(field));
sep = ", "; p.print(nodeClass.getFieldName(field)); p.print(" = "); p.print(nodeClass.getFieldValue(field, node)); for (Object field : nodeClass.getNodeFields()) { printNewLine(p, level); p.print(nodeClass.getFieldName(field));
private static String getNodeFieldName(Node parent, Node node, String defaultName) { NodeClass nodeClass = parent.getNodeClass(); for (Object field : nodeClass.getNodeFields()) { if (nodeClass.isChildField(field)) { if (nodeClass.getFieldObject(field, parent) == node) { return nodeClass.getFieldName(field); } } else if (nodeClass.isChildrenField(field)) { int index = 0; for (Object arrayNode : (Object[]) nodeClass.getFieldObject(field, parent)) { if (arrayNode == node) { return nodeClass.getFieldName(field) + "[" + index + "]"; } index++; } } else if (nodeClass.nodeFieldsOrderedByKind()) { break; } } return defaultName; }
private static String getNodeFieldName(Node parent, Node node, String defaultName) { NodeClass nodeClass = parent.getNodeClass(); for (Object field : nodeClass.getNodeFields()) { if (nodeClass.isChildField(field)) { if (nodeClass.getFieldObject(field, parent) == node) { return nodeClass.getFieldName(field); } } else if (nodeClass.isChildrenField(field)) { int index = 0; for (Object arrayNode : (Object[]) nodeClass.getFieldObject(field, parent)) { if (arrayNode == node) { return nodeClass.getFieldName(field) + "[" + index + "]"; } index++; } } else if (nodeClass.nodeFieldsOrderedByKind()) { break; } } return defaultName; }
private void readNodeProperties(Node node) { NodeClass nodeClass = NodeClass.get(node); for (Object field : nodeClass.getNodeFields()) { if (isDataField(nodeClass, field)) { String key = nodeClass.getFieldName(field); if (!getElementByObject(node).getProperties().containsKey(key)) { Object value = nodeClass.getFieldValue(field, node); setNodeProperty(node, key, value); } } } }
private void readNodeProperties(Node node) { NodeClass nodeClass = NodeClass.get(node); for (Object field : nodeClass.getNodeFields()) { if (isDataField(nodeClass, field)) { String key = nodeClass.getFieldName(field); if (!getElementByObject(node).getProperties().containsKey(key)) { Object value = nodeClass.getFieldValue(field, node); setNodeProperty(node, key, value); } } } }