// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.xml.v0_6.impl; import org.xml.sax.Attributes; import org.openstreetmap.osmosis.core.domain.v0_6.WayNode; import org.openstreetmap.osmosis.xml.common.BaseElementProcessor; /** * Provides an element processor implementation for a way node. * * @author Brett Henderson */ public class WayNodeElementProcessor extends BaseElementProcessor { private static final String ATTRIBUTE_NAME_ID = "ref"; private WayNodeListener wayNodeListener; private WayNode wayNode; /** * Creates a new instance. * * @param parentProcessor * The parent element processor. * @param wayNodeListener * The way node listener for receiving created tags. */ public WayNodeElementProcessor(BaseElementProcessor parentProcessor, WayNodeListener wayNodeListener) { super(parentProcessor, true); this.wayNodeListener = wayNodeListener; } /** * {@inheritDoc} */ public void begin(Attributes attributes) { long id; id = Long.parseLong(attributes.getValue(ATTRIBUTE_NAME_ID)); wayNode = new WayNode(id); } /** * {@inheritDoc} */ public void end() { wayNodeListener.processWayNode(wayNode); wayNode = null; } }