Relation.java
package org.opentrafficsim.importexport.osm;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* Copyright (c) 2013-2014 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
* BSD-style license. See <a href="http://opentrafficsim.org/node/13">OpenTrafficSim License</a>.
* <p>
* @version 31 dec. 2014 <br>
* @author <a>Moritz Bergmann</a>
*/
public class Relation
{
/** */
private long iD;
/** */
private List<Tag> taglist;
/** */
private List<Long> relWays;
/** */
private List<Long> relNodes;
/**
* @return iD
*/
public final long getID()
{
return this.iD;
}
/**
* @param niD
*/
public final void setID(final long niD)
{
this.iD = niD;
}
/**
* @return taglist
*/
public final List<Tag> getTaglist()
{
return this.taglist;
}
/**
* @param taglist
*/
public final void setTaglist(final List<Tag> taglist)
{
this.taglist = taglist;
}
/**
* @param tag
*/
public final void addTag(final Tag tag)
{
this.taglist.add(tag);
}
/**
* @return ways
*/
public final List<Long> getWays()
{
return this.relWays;
}
/**
* @param ways
*/
public final void setWays(final List<Long> ways)
{
this.relWays = ways;
}
/**
* @param way
*/
public final void addWay(final Long way)
{
this.relWays.add(way);
}
/**
* @return nodes
*/
public final List<Long> getNodes()
{
return this.relNodes;
}
/**
* @param nodes
*/
public final void setNodes(final List<Long> nodes)
{
this.relNodes = nodes;
}
/**
* @param node
*/
public final void addNode(final Long node)
{
this.relNodes.add(node);
}
/**
* @param id
*/
public Relation(final long id)
{
this.iD = id;
this.relNodes = new ArrayList<Long>();
this.relWays = new ArrayList<Long>();
this.taglist = new ArrayList<Tag>();
}
/**
* @param tagKey
* @return A specific Tag
* @throws IOException
*/
public final Tag getTag(final String tagKey) throws IOException
{
Integer length = this.taglist.size();
Integer i = 0;
try
{
do
{
if (this.taglist.get(i).getKey().equals(tagKey))
{
return this.taglist.get(i);
}
}
while (i < length);
throw new IOException(" not found");
}
catch (IOException e)
{
return null;
}
}
/**
* @return List of all Tags in this relation
*/
public final List<Tag> getTags()
{
return this.taglist;
}
}