NASA World Wind

gov.nasa.worldwind.ogc.wms
Class WMSCapabilities

java.lang.Object
  extended by gov.nasa.worldwind.util.xml.AbstractXMLEventParser
      extended by gov.nasa.worldwind.ogc.OGCCapabilities
          extended by gov.nasa.worldwind.ogc.wms.WMSCapabilities
All Implemented Interfaces:
XMLEventParser

public class WMSCapabilities
extends OGCCapabilities


Field Summary
protected static QName ROOT_ELEMENT_NAME_1_1_1
           
protected static QName ROOT_ELEMENT_NAME_1_3_0
           
 
Fields inherited from class gov.nasa.worldwind.ogc.OGCCapabilities
CAPABILITY, capabilityInformation, eventReader, parserContext, SERVICE, serviceInformation, UPDATE_SEQUENCE, updateSequence, version, VERSION
 
Fields inherited from class gov.nasa.worldwind.util.xml.AbstractXMLEventParser
CHARACTERS_CONTENT, fields, namespaceURI, parent
 
Constructor Summary
WMSCapabilities(CapabilitiesRequest docSource)
           
WMSCapabilities(Object docSource)
          Parses a WMS capabilities document.
 
Method Summary
 XMLEventParser allocate(XMLEventParserContext ctx, XMLEvent event)
          Create a parser for a specified event.
 WMSCapabilityInformation getCapabilityInformation()
          Returns the document's capability information.
 String getDefaultNamespaceURI()
          Returns the default namespace URI.
 Set<String> getImageFormats()
           
 WMSLayerCapabilities getLayerByName(String name)
           
 Double[] getLayerExtremeElevations(String[] layerNames)
           
protected  String getLayerLastUpdate(WMSLayerCapabilities layerCaps)
          Checks the WMS layer capabilities for a LastUpdate entry, either an explicit element by that name or a layer keyword.
 Long getLayerLatestLastUpdateTime(String[] layerNames)
           
 List<WMSLayerCapabilities> getNamedLayers()
          Returns all named layers in the capabilities document.
 OGCRequestDescription getRequestDescription(String requestName)
           
 String getRequestURL(String requestName, String protocol, String requestMethod)
           
 boolean isRootElementName(QName candidate)
          Determines whether a specified element name is the root element name of the schema.
 boolean layerHasCoordinateSystem(String[] layerNames, String coordSys)
          Indicates whether the layers corresponding to a specified list of layer names support a specified coordinate system.
 WMSCapabilities parse(Object... args)
          Starts document parsing.
protected  String parseLastUpdate(String lastUpdateString)
          Parse a LastUpdate string.
static WMSCapabilities retrieve(URI uri)
           
 String toString()
           
 
Methods inherited from class gov.nasa.worldwind.ogc.OGCCapabilities
createParserContext, createReader, doParseEventAttributes, doParseEventContent, getParserContext, getServiceInformation, getUpdateSequence, getVersion, setCapabilityInformation, setServiceInformation, setUpdateSequence, setVersion
 
Methods inherited from class gov.nasa.worldwind.util.xml.AbstractXMLEventParser
doAddCharacters, doAddEventAttribute, doAddEventContent, freeResources, getAConstructor, getCharacters, getField, getField, getFields, getNamespaceURI, getParent, getRoot, hasField, hasField, hasFields, mergeFields, newInstance, overrideFields, parse, parseCharacterContent, removeField, setField, setField, setFields, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ROOT_ELEMENT_NAME_1_1_1

protected static final QName ROOT_ELEMENT_NAME_1_1_1

ROOT_ELEMENT_NAME_1_3_0

protected static final QName ROOT_ELEMENT_NAME_1_3_0
Constructor Detail

WMSCapabilities

public WMSCapabilities(CapabilitiesRequest docSource)
                throws URISyntaxException,
                       MalformedURLException
Throws:
URISyntaxException
MalformedURLException

WMSCapabilities

public WMSCapabilities(Object docSource)
Parses a WMS capabilities document.

Parameters:
docSource - the XML source. May be a filename, file, stream or other type allowed by WWXML.openEventReader(Object).
Throws:
IllegalArgumentException - if the document source is null.
Method Detail

allocate

public XMLEventParser allocate(XMLEventParserContext ctx,
                               XMLEvent event)
Description copied from class: OGCCapabilities
Create a parser for a specified event.

Overrides:
allocate in class OGCCapabilities
Parameters:
ctx - the current parser context.
event - the event for which the parser is created. Only the event type is used; the new parser can operate on any event of that type.
Returns:
the new parser.

getCapabilityInformation

public WMSCapabilityInformation getCapabilityInformation()
Description copied from class: OGCCapabilities
Returns the document's capability information.

Overrides:
getCapabilityInformation in class OGCCapabilities
Returns:
the document's capability information.

getDefaultNamespaceURI

public String getDefaultNamespaceURI()
Description copied from class: OGCCapabilities
Returns the default namespace URI. Must be overridden by subclasses to provide a specific URI. The default namespace is used to match XML elements found in the default namespace of the XML stream.

Specified by:
getDefaultNamespaceURI in class OGCCapabilities
Returns:
the default namespace URI.

getImageFormats

public Set<String> getImageFormats()

getLayerByName

public WMSLayerCapabilities getLayerByName(String name)

getLayerExtremeElevations

public Double[] getLayerExtremeElevations(String[] layerNames)

getLayerLastUpdate

protected String getLayerLastUpdate(WMSLayerCapabilities layerCaps)
Checks the WMS layer capabilities for a LastUpdate entry, either an explicit element by that name or a layer keyword.

Parameters:
layerCaps - The layer's capabilities taken from the server's capabilities document.
Returns:
A string representation of the epoch time for the last update string, if any, otherwise null.

getLayerLatestLastUpdateTime

public Long getLayerLatestLastUpdateTime(String[] layerNames)

getNamedLayers

public List<WMSLayerCapabilities> getNamedLayers()
Returns all named layers in the capabilities document.

Returns:
an unordered list of the document's named layers.

getRequestDescription

public OGCRequestDescription getRequestDescription(String requestName)

getRequestURL

public String getRequestURL(String requestName,
                            String protocol,
                            String requestMethod)

isRootElementName

public boolean isRootElementName(QName candidate)
Description copied from class: OGCCapabilities
Determines whether a specified element name is the root element name of the schema.

Specified by:
isRootElementName in class OGCCapabilities
Parameters:
candidate - the name to test.
Returns:
true if the name is the schema's root element, otherwise false.

layerHasCoordinateSystem

public boolean layerHasCoordinateSystem(String[] layerNames,
                                        String coordSys)
Indicates whether the layers corresponding to a specified list of layer names support a specified coordinate system. If any of the named layers are not in this capabilities document, false is returned.

Parameters:
layerNames - The names of the layers to check.
coordSys - The coordinate system to search for, e.g., "EPSG:4326".
Returns:
true if all the layers support the specified coordinate system, otherwise false.
Throws:
IllegalArgumentException - if the layer names array is null or empty or the specified coordinate system is null or the empty string.

parse

public WMSCapabilities parse(Object... args)
                      throws XMLStreamException
Description copied from class: OGCCapabilities
Starts document parsing. This method initiates parsing of the XML document and returns when the full capabilities document has been parsed.

Overrides:
parse in class OGCCapabilities
Parameters:
args - optional arguments to pass to parsers of sub-elements.
Returns:
this if parsing is successful, otherwise null.
Throws:
XMLStreamException - if an exception occurs while attempting to read the event stream.

parseLastUpdate

protected String parseLastUpdate(String lastUpdateString)
Parse a LastUpdate string.

Parameters:
lastUpdateString - The string containing the LastUpdate string in the format "LastUpdate=yyyy-MM-dd'T'HH:mm:ssZ"
Returns:
A string representation of the epoch time for the last update string, of null if the string can't be parsed as a date.

retrieve

public static WMSCapabilities retrieve(URI uri)
                                throws Exception
Throws:
Exception

toString

public String toString()
Overrides:
toString in class OGCCapabilities

NASA World Wind