/* Copyright (c) 2001 - 2011 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, availible at the root
* application directory.
*/
package org.geoserver.monitor.ows;
import java.util.List;
import org.geoserver.monitor.RequestData;
/**
* Class that extracts information from an ows request.
*
* @author Justin Deoliveira, OpenGeo
*
*/
public abstract class RequestObjectHandler {
String reqObjClassName;
protected RequestObjectHandler(String reqObjClassName) {
this.reqObjClassName = reqObjClassName;
}
public boolean canHandle(Object request) {
Class clazz;
try {
clazz = Class.forName(reqObjClassName);
}
catch (ClassNotFoundException e) {
return false;
}
return clazz.isInstance(request);
}
public void handle(Object request, RequestData data) {
data.setResources(getLayers(request));
}
protected abstract List<String> getLayers(Object request);
}