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

org.opentripplanner.api.parameter.LayerList Maven / Gradle / Ivy

package org.opentripplanner.api.parameter;

import java.util.ArrayList;
import java.util.List;

import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;

/**
 *  WMS allows several layers and styles to be specified. We parse these parameters as if they 
 *  might contain a comma-separated list, but only use the first one in the WMS resource.
 *  This class also uppercases the query parameters to make sure they match enum constants.
 *  
 *  Type erasure makes a genericized EnumList impractical, so StyleList contains duplicate code.
 */
public class LayerList {
    List layers = new ArrayList(); 
    
    public LayerList(String v) {
        for (String s : v.split(",")) {
            try {
                layers.add(Layer.valueOf(s.toUpperCase()));
            } catch (Exception e) {
                throw new WebApplicationException(Response
                    .status(Status.BAD_REQUEST)
                    .entity("unknown layer name: " + s)
                    .build());
            }
        }
    }

    public Layer get(int index) {
        return layers.get(index);
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy