/*
* Copyright 2010, 2011, 2012 mapsforge.org
*
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.mapsforge.map.writer.model;
import java.util.List;
/**
* Class to store a WayDataBlock. Each WayDataBlock can store one way and a list of corresponding inner ways. Simple
* ways and simple polygons have zero inner ways while multi polygons have one or more inner ways.
*
* @author sahin
*/
public class WayDataBlock {
private final List<Integer> outerWay;
private final List<List<Integer>> innerWays;
private final Encoding encoding;
/**
* Creates a WayDataBlock in which way coordinates are not encoded.
*
* @param outerWay
* the outer way of the way data block
* @param innerWays
* the inner ways of the way data block, or null if not existent
*/
public WayDataBlock(List<Integer> outerWay, List<List<Integer>> innerWays) {
this.outerWay = outerWay;
this.innerWays = innerWays;
this.encoding = Encoding.NONE;
}
/**
* @param outerWay
* the outer way of the way data block
* @param innerWays
* the inner ways of the way data block, or null if not existent
* @param encoding
* the encoding used to represent the coordinates
*/
public WayDataBlock(List<Integer> outerWay, List<List<Integer>> innerWays, Encoding encoding) {
super();
this.outerWay = outerWay;
this.innerWays = innerWays;
this.encoding = encoding;
}
/**
* @return the outerWay
*/
public List<Integer> getOuterWay() {
return this.outerWay;
}
/**
* @return the innerWays
*/
public List<List<Integer>> getInnerWays() {
return this.innerWays;
}
/**
* @return the encoding
*/
public Encoding getEncoding() {
return this.encoding;
}
}