// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.apidb.v0_6.impl; import java.util.HashMap; import java.util.Map; import org.openstreetmap.osmosis.core.OsmosisRuntimeException; import org.openstreetmap.osmosis.core.domain.v0_6.EntityType; /** * Parses the database representation of a relation member type into an entity * type object. * * @author Brett Henderson */ public class MemberTypeParser { private static final Map<String, EntityType> MEMBER_TYPE_MAP = new HashMap<String, EntityType>(); static { MEMBER_TYPE_MAP.put("Node", EntityType.Node); MEMBER_TYPE_MAP.put("Way", EntityType.Way); MEMBER_TYPE_MAP.put("Relation", EntityType.Relation); } /** * Parses the database representation of a relation member type into an * entity type object. * * @param memberType * The database value of member type. * @return A strongly typed entity type. */ public EntityType parse(String memberType) { if (MEMBER_TYPE_MAP.containsKey(memberType)) { return MEMBER_TYPE_MAP.get(memberType); } else { throw new OsmosisRuntimeException("The member type " + memberType + " is not recognised."); } } }