org.openstreetmap.josm.io
Class OsmWriter

java.lang.Object
  extended by org.openstreetmap.josm.io.XmlWriter
      extended by org.openstreetmap.josm.io.OsmWriter
All Implemented Interfaces:
PrimitiveVisitor

public class OsmWriter
extends XmlWriter
implements PrimitiveVisitor

Save the dataset into a stream as osm intern xml format. This is not using any xml library for storing.


Field Summary
protected static java.util.Comparator<OsmPrimitive> byIdComparator
           
protected static java.util.Comparator<java.util.Map.Entry<java.lang.String,java.lang.String>> byKeyComparator
           
private  Changeset changeset
           
static java.lang.String DEFAULT_API_VERSION
           
private  boolean osmConform
           
private  java.lang.String version
           
private  boolean withBody
           
 
Fields inherited from class org.openstreetmap.josm.io.XmlWriter
out
 
Constructor Summary
protected OsmWriter(java.io.PrintWriter out, boolean osmConform, java.lang.String version)
          Do not call this directly.
 
Method Summary
protected  void addCommon(IPrimitive osm, java.lang.String tagname)
          Add the common part as the form of the tag as well as the XML attributes id, action, user, and visible.
protected  void addTags(Tagged osm, java.lang.String tagname, boolean tagOpen)
           
 void close()
           
 void flush()
           
 void footer()
           
 void header()
           
 void header(java.lang.Boolean upload)
           
 void setChangeset(Changeset cs)
           
 void setVersion(java.lang.String v)
           
 void setWithBody(boolean wb)
           
protected  boolean shouldWrite(OsmPrimitive osm)
           
protected  java.util.Collection<OsmPrimitive> sortById(java.util.Collection<? extends OsmPrimitive> primitives)
           
 void visit(Changeset cs)
           
 void visit(INode n)
           
 void visit(IRelation e)
           
 void visit(IWay w)
           
 void writeContent(DataSet ds)
           
 void writeDataSources(DataSet ds)
           
 void writeLayer(OsmDataLayer layer)
           
 
Methods inherited from class org.openstreetmap.josm.io.XmlWriter
encode, encode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_API_VERSION

public static final java.lang.String DEFAULT_API_VERSION
See Also:
Constant Field Values

osmConform

private boolean osmConform

withBody

private boolean withBody

version

private java.lang.String version

changeset

private Changeset changeset

byIdComparator

protected static final java.util.Comparator<OsmPrimitive> byIdComparator

byKeyComparator

protected static final java.util.Comparator<java.util.Map.Entry<java.lang.String,java.lang.String>> byKeyComparator
Constructor Detail

OsmWriter

protected OsmWriter(java.io.PrintWriter out,
                    boolean osmConform,
                    java.lang.String version)
Do not call this directly. Use OsmWriterFactory instead.

Method Detail

setWithBody

public void setWithBody(boolean wb)

setChangeset

public void setChangeset(Changeset cs)

setVersion

public void setVersion(java.lang.String v)

header

public void header()

header

public void header(java.lang.Boolean upload)

footer

public void footer()

sortById

protected java.util.Collection<OsmPrimitive> sortById(java.util.Collection<? extends OsmPrimitive> primitives)

writeLayer

public void writeLayer(OsmDataLayer layer)

writeContent

public void writeContent(DataSet ds)

shouldWrite

protected boolean shouldWrite(OsmPrimitive osm)

writeDataSources

public void writeDataSources(DataSet ds)

visit

public void visit(INode n)
Specified by:
visit in interface PrimitiveVisitor

visit

public void visit(IWay w)
Specified by:
visit in interface PrimitiveVisitor

visit

public void visit(IRelation e)
Specified by:
visit in interface PrimitiveVisitor

visit

public void visit(Changeset cs)

addTags

protected void addTags(Tagged osm,
                       java.lang.String tagname,
                       boolean tagOpen)

addCommon

protected void addCommon(IPrimitive osm,
                         java.lang.String tagname)
Add the common part as the form of the tag as well as the XML attributes id, action, user, and visible.


close

public void close()

flush

public void flush()
Overrides:
flush in class XmlWriter


JOSM