Package org.openstreetmap.osmosis.xml.v0_6.impl

Source Code of org.openstreetmap.osmosis.xml.v0_6.impl.EntityWriter

// This software is released into the Public Domain.  See copying.txt for details.
package org.openstreetmap.osmosis.xml.v0_6.impl;

import java.util.Map.Entry;

import org.openstreetmap.osmosis.core.domain.v0_6.Entity;
import org.openstreetmap.osmosis.core.domain.v0_6.OsmUser;
import org.openstreetmap.osmosis.xml.common.ElementWriter;


/**
* Provides common functionality for all classes writing OSM entities to xml.
*
* @author Brett Henderson
*/
public class EntityWriter extends ElementWriter {
 
  /**
   * Creates a new instance.
   *
   * @param elementName
   *            The name of the element to be written.
   * @param indentionLevel
   *            The indent level of the element.
   */
  protected EntityWriter(String elementName, int indentionLevel) {
    super(elementName, indentionLevel);
  }


  /**
   * Add common entity attributes.
   *
   * @param entity
   *            The entity being written.
   */
  protected void addCommonAttributes(Entity entity) {
    addAttribute("id", Long.toString(entity.getId()));
    addAttribute("version", Integer.toString(entity.getVersion()));
    addAttribute("timestamp", entity.getFormattedTimestamp(getTimestampFormat()));

    OsmUser user = entity.getUser();
    if (!user.equals(OsmUser.NONE)) {
      addAttribute("uid", Integer.toString(user.getId()));
      addAttribute("user", user.getName());
    }

    if (entity.getChangesetId() != 0) {
      addAttribute("changeset", Long.toString(entity.getChangesetId()));
    }
  }


  /**
   * Add metatag attributes.
   *
   * @param entity
   *            The entity being written.
   */
  protected void addMetatags(Entity entity) {
    for (Entry<String, Object> metaTag : entity.getMetaTags().entrySet()) {
      addAttribute(metaTag.getKey(), metaTag.getValue().toString());
    }
  }
}
TOP

Related Classes of org.openstreetmap.osmosis.xml.v0_6.impl.EntityWriter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.