package net.osmand.plus.osmedit;
import net.osmand.osm.edit.Node;
import net.osmand.osm.edit.OSMSettings.OSMTagKey;
import net.osmand.util.Algorithms;
public class OpenstreetmapPoint extends OsmPoint {
private static final long serialVersionUID = 729654300829771467L;
private Node entity;
private String comment;
public OpenstreetmapPoint(){
}
@Override
public long getId() {
return entity.getId();
}
public String getName() {
String ret = entity.getTag(OSMTagKey.NAME.getValue());
if (ret == null)
return "";
return ret;
}
public String getType() {
String type = "amenity";
for (String k : entity.getTagKeySet()) {
if (!OSMTagKey.NAME.getValue().equals(k) && !OSMTagKey.OPENING_HOURS.getValue().equals(k) &&
!k.startsWith(EditPoiData.REMOVE_TAG_PREFIX)) {
type = k;
break;
}
}
return type;
}
public String getSubtype() {
if(Algorithms.isEmpty(getType())) {
return "";
}
return entity.getTag(this.getType());
}
@Override
public double getLatitude() {
return entity.getLatitude();
}
@Override
public double getLongitude() {
return entity.getLongitude();
}
@Override
public Group getGroup() {
return Group.POI;
}
public Node getEntity() {
return entity;
}
public String getComment() {
return comment;
}
public void setEntity(Node entity) {
this.entity = entity;
}
public void setComment(String comment) {
this.comment = comment;
}
@Override
public String toString() {
return new StringBuffer("Openstreetmap Point ").append(this.getAction()).append(" ").append(this.getName())
.append(" (").append(this.getId()).append("): [")
.append(this.getType()).append("/").append(this.getSubtype())
.append(" (").append(this.getLatitude()).append(", ").append(this.getLongitude())
.append(")]").toString();
}
}