/* 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 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 <http://www.gnu.org/licenses/>. */ package org.opentripplanner.graph_builder.impl.shapefile; import java.util.HashMap; import java.util.Map; import org.opengis.feature.simple.SimpleFeature; import org.opentripplanner.graph_builder.services.shapefile.SimpleFeatureConverter; public class CaseBasedBooleanConverter implements SimpleFeatureConverter<Boolean> { public boolean defaultValue = false; private Map<String, Boolean> values = new HashMap<String, Boolean>(); private String attributeName; public CaseBasedBooleanConverter() { } public CaseBasedBooleanConverter(String attributeName) { this.attributeName = attributeName; } public CaseBasedBooleanConverter(String attributeName, Boolean defaultValue) { this.attributeName = attributeName; this.defaultValue = defaultValue; } public void setAttributeName(String attributeName) { this.attributeName = attributeName; } public void setDefaultValue(Boolean defaultValue) { this.defaultValue = defaultValue; } public void setValues(Map<String, Boolean> values) { this.values = values; } @Override public Boolean convert(SimpleFeature feature) { String key = feature.getAttribute(attributeName).toString(); Boolean value = values.get(key); if (value == null) { value = defaultValue; } return value; } }