Node keyNode = tuple.getKeyNode(); if (!keyNode.getTag().equals(Tag.MERGE)) { Object key = constructObject(keyNode); if (key != null) { try {
Object key = constructObject(keyNode); Object value = constructObject(valueNode); pairs.add(new Object[] { key, value });
Object key = constructObject(keyNode); Object value = constructObject(valueNode); omap.put(key, value);
Object key = constructObject(keyNode); if (!key2index.containsKey(key)) { // 1st time merging key values.add(nodeTuple);
@Override public Object constructObject(Node node) { return super.constructObject(node); } }
Node keyNode = tuple.getKeyNode(); if (!keyNode.getTag().equals(Tag.MERGE)) { Object key = constructObject(keyNode); if (key != null) { try {
public Object construct(Node node) { // Note: we do not check for duplicate keys, because it's too // CPU-expensive. if (!(node instanceof SequenceNode)) { throw new ConstructorException("while constructing pairs", node.getStartMark(), "expected a sequence, but found " + node.getNodeId(), node.getStartMark()); } SequenceNode snode = (SequenceNode) node; List<Object[]> pairs = new ArrayList<Object[]>(snode.getValue().size()); for (Node subnode : snode.getValue()) { if (!(subnode instanceof MappingNode)) { throw new ConstructorException("while constructingpairs", node.getStartMark(), "expected a mapping of length 1, but found " + subnode.getNodeId(), subnode.getStartMark()); } MappingNode mnode = (MappingNode) subnode; if (mnode.getValue().size() != 1) { throw new ConstructorException("while constructing pairs", node.getStartMark(), "expected a single mapping item, but found " + mnode.getValue().size() + " items", mnode.getStartMark()); } Node keyNode = mnode.getValue().get(0).getKeyNode(); Node valueNode = mnode.getValue().get(0).getValueNode(); Object key = constructObject(keyNode); Object value = constructObject(valueNode); pairs.add(new Object[] { key, value }); } return pairs; } }
Object key = constructObject(keyNode); Object value = constructObject(valueNode); pairs.add(new Object[] { key, value });
public Object construct(Node node) { // Note: we do not check for duplicate keys, because it's too // CPU-expensive. if (!(node instanceof SequenceNode)) { throw new ConstructorException("while constructing pairs", node.getStartMark(), "expected a sequence, but found " + node.getNodeId(), node.getStartMark()); } SequenceNode snode = (SequenceNode) node; List<Object[]> pairs = new ArrayList<Object[]>(snode.getValue().size()); for (Node subnode : snode.getValue()) { if (!(subnode instanceof MappingNode)) { throw new ConstructorException("while constructingpairs", node.getStartMark(), "expected a mapping of length 1, but found " + subnode.getNodeId(), subnode.getStartMark()); } MappingNode mnode = (MappingNode) subnode; if (mnode.getValue().size() != 1) { throw new ConstructorException("while constructing pairs", node.getStartMark(), "expected a single mapping item, but found " + mnode.getValue().size() + " items", mnode.getStartMark()); } Node keyNode = mnode.getValue().get(0).getKeyNode(); Node valueNode = mnode.getValue().get(0).getValueNode(); Object key = constructObject(keyNode); Object value = constructObject(valueNode); pairs.add(new Object[] { key, value }); } return pairs; } }
Object key = constructObject(keyNode); Object value = constructObject(valueNode); omap.put(key, value);
Object key = constructObject(keyNode); if (!key2index.containsKey(key)) { // 1st time merging key values.add(nodeTuple);
Object key = constructObject(keyNode); Object value = constructObject(valueNode); omap.put(key, value);
Object key = constructObject(keyNode); Object value = constructObject(valueNode); omap.put(key, value);
Object key = constructObject(keyNode); if (!key2index.containsKey(key)) { // 1st time merging key values.add(nodeTuple);
Object key = constructObject(keyNode); if (!key2index.containsKey(key)) { // 1st time merging key values.add(nodeTuple);