/** * Ends an <osmchange>-element. */ public void end() { if (activeOsmWriter != null) { activeOsmWriter.end(); activeOsmWriter = null; } lastAction = null; closeElement(); }
/** * Updates the underlying writer. * * @param writer * The writer to be used for all output xml. */ public void updateWriter(final Writer writer) { nodeWriter.setWriter(writer); wayWriter.setWriter(writer); relationWriter.setWriter(writer); boundWriter.setWriter(writer); // reset the flags indicating which data has been written boundWritten = false; entitiesWritten = false; }
/** * Creates a new instance. * * @param indentLevel * The indent level of the sub-elements. */ SubElementWriter(int indentLevel, boolean legacyBound) { nodeWriter = new NodeWriter("node", indentLevel); wayWriter = new WayWriter("way", indentLevel); relationWriter = new RelationWriter("relation", indentLevel); if (legacyBound) { boundWriter = new BoundWriter("bound", indentLevel, legacyBound); } else { boundWriter = new BoundWriter("bounds", indentLevel, legacyBound); } }
/** * Switch to another type of change. * @param action the action to apply to the next elements. */ private void updateActiveOsmWriter(final ChangeAction action) { if (action != lastAction) { if (activeOsmWriter != null) { activeOsmWriter.end(); } activeOsmWriter = getWriterForAction(action); activeOsmWriter.begin(); lastAction = action; } }
/** * Creates a new instance. * * @param elementName * The name of the element to be written. * @param indentLevel * The indent level of the element. */ public RelationWriter(String elementName, int indentLevel) { super(elementName, indentLevel); tagWriter = new TagWriter("tag", indentLevel + 1); relationMemberWriter = new RelationMemberWriter("member", indentLevel + 1); }
/** * Creates a new instance. * * @param elementName * The name of the element to be written. * @param indentLevel * The indent level of the element. */ public WayWriter(String elementName, int indentLevel) { super(elementName, indentLevel); tagWriter = new TagWriter("tag", indentLevel + 1); wayNodeWriter = new WayNodeWriter("nd", indentLevel + 1); }
/** * {@inheritDoc} */ @Override protected void setWriterOnElementWriter(BufferedWriter writer) { osmWriter.setWriter(writer); } }
/** * Creates a new instance. * * @param osmSink * The new osmSink to write data to. * @param enableDateParsing * If true, dates will be parsed from xml data, else the current * date will be used thus saving parsing time. */ public OsmHandler(Sink osmSink, boolean enableDateParsing) { osmElementProcessor = new OsmElementProcessor(null, osmSink, enableDateParsing, true); }
/** * Creates a new instance. * * @param writer * The writer to send all data to. */ public XmlChangeWriter(BufferedWriter writer) { super(writer); osmChangeWriter = new OsmChangeWriter("osmChange", 0); }
/** * @param changeSink * The changeSink to write data to. * @param enableDateParsing * If true, dates will be parsed from xml data, else the current * date will be used thus saving parsing time. */ public OsmChangeHandler(ChangeSink changeSink, boolean enableDateParsing) { changeSourceElementProcessor = new ChangeSourceElementProcessor(null, changeSink, enableDateParsing); }
/** * Creates a new instance. * * @param elementName * The name of the element to be written. * @param indentLevel * The indent level of the element. */ public RelationMemberWriter(String elementName, int indentLevel) { super(elementName, indentLevel); memberTypeRenderer = new MemberTypeRenderer(); }
/** * Ends an <osmchange>-element. */ public void end() { if (activeOsmWriter != null) { activeOsmWriter.end(); activeOsmWriter = null; } lastAction = null; closeElement(); }
/** * Creates a new instance. * * @param elementName * The name of the element to be written. * @param indentLevel * The indent level of the element. */ public RelationWriter(String elementName, int indentLevel) { super(elementName, indentLevel); tagWriter = new TagWriter("tag", indentLevel + 1); relationMemberWriter = new RelationMemberWriter("member", indentLevel + 1); }
/** * Creates a new instance. * * @param elementName * The name of the element to be written. * @param indentLevel * The indent level of the element. */ public WayWriter(String elementName, int indentLevel) { super(elementName, indentLevel); tagWriter = new TagWriter("tag", indentLevel + 1); wayNodeWriter = new WayNodeWriter("nd", indentLevel + 1); }