package com.revolsys.gis.wms.capabilities;
import java.util.ArrayList;
import java.util.List;
import org.w3c.dom.Element;
import com.revolsys.gis.wms.WmsClient;
import com.revolsys.record.io.format.xml.XmlUtil;
public class Capability {
private final List<String> exceptionFormats = new ArrayList<>();
private WmsLayerDefinition layer;
private final List<Request> requests = new ArrayList<>();
public Capability(final WmsClient wmsClient, final Element capabilityElement) {
XmlUtil.forFirstElement(capabilityElement, "Request", (requestsElement) -> {
XmlUtil.forEachElement(requestsElement, (requestElement) -> {
final Request request = new Request(requestElement);
this.requests.add(request);
});
});
XmlUtil.forFirstElement(capabilityElement, "Exception", exceptionElement -> {
XmlUtil.forEachElement(exceptionElement, "Format", (exceptionFormatElement) -> {
final String exceptionFormat = exceptionFormatElement.getTextContent();
this.exceptionFormats.add(exceptionFormat);
});
});
XmlUtil.forFirstElement(capabilityElement, "Layer", (layerElement) -> {
this.layer = new WmsLayerDefinition(layerElement);
this.layer.setParent(wmsClient);
});
}
public List<String> getExceptionFormats() {
return this.exceptionFormats;
}
public WmsLayerDefinition getLayer() {
return this.layer;
}
public List<Request> getRequests() {
return this.requests;
}
}