All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentripplanner.api.adapters.LineStringAdapter Maven / Gradle / Ivy

There is a newer version: 2.6.0
Show newest version
/* 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 (props, 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 General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see . */

package org.opentripplanner.api.adapters;

import java.util.Arrays;
import java.util.List;

import javax.xml.bind.annotation.adapters.XmlAdapter;

import org.opentripplanner.util.PolylineEncoder;
import org.opentripplanner.util.model.EncodedPolylineBean;

import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.LineString;

public class LineStringAdapter extends XmlAdapter{

	@Override
	public LineString unmarshal(EncodedPolylineBean arg) throws Exception {
	    throw new UnsupportedOperationException("We presently serialize LineString as EncodedPolylineBean, and thus cannot deserialize them");
	}

	@Override
	public EncodedPolylineBean marshal(LineString arg) throws Exception {
		if (arg == null) {
			return null;
		}
		Coordinate[] lineCoords = arg.getCoordinates();
		List coords = Arrays.asList(lineCoords);
		return PolylineEncoder.createEncodings(coords);
	}

	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy