Interface Request

All Known Subinterfaces:
DescribeLayerRequest, GetCapabilitiesRequest, GetFeatureInfoRequest, GetLegendGraphicRequest, GetMapRequest, GetStylesRequest, GetTileRequest, PutStylesRequest
All Known Implementing Classes:
AbstractDescribeLayerRequest, AbstractGetCapabilitiesRequest, AbstractGetFeatureInfoRequest, AbstractGetLegendGraphicRequest, AbstractGetMapRequest, AbstractGetStylesRequest, AbstractGetTileRequest, AbstractPutStylesRequest, AbstractRequest, AbstractWMSRequest, AbstractWMTSRequest, DescribeFeatureTypeRequest, DescribeStoredQueriesRequest, GetCapabilitiesRequest, GetFeatureRequest, ListStoredQueriesRequest, TransactionRequest, WFSRequest, WMS1_0_0.GetCapsRequest, WMS1_0_0.GetFeatureInfoRequest, WMS1_0_0.GetMapRequest, WMS1_0_0.InternalGetStylesRequest, WMS1_1_0.GetCapsRequest, WMS1_1_0.GetFeatureInfoRequest, WMS1_1_0.GetMapRequest, WMS1_1_0.InternalDescribeLayerRequest, WMS1_1_0.InternalGetLegendGraphicRequest, WMS1_1_1.GetCapsRequest, WMS1_1_1.GetFeatureInfoRequest, WMS1_1_1.GetMapRequest, WMS1_1_1.InternalGetStylesRequest, WMS1_1_1.InternalPutStylesRequest, WMS1_3_0.GetCapsRequest, WMS1_3_0.GetFeatureInfoRequest, WMS1_3_0.GetMapRequest, WMTSSpecification.GetCapsRequest, WMTSSpecification.GetKVPTileRequest, WMTSSpecification.GetMultiTileRequest, WMTSSpecification.GetRestTileRequest, WMTSSpecification.GetSingleTileRequest

public interface Request
This represents a Request to be made against a Open Web Service.
Author:
rgould
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Represents the REQUEST parameter
    static final String
     
    static final String
    Represents the VERSION parameter
    static final String
    Represents the WMTVER parameter
  • Method Summary

    Modifier and Type
    Method
    Description
    default Response
    Each Request must know how to create it's counterpart Response.
    Once the properties of the request are configured, this will return the URL that points to the server and contains all of the appropriate name/value parameters.
    If this request uses POST, it must specify the content type of the data that is to be written out during performPostOutput().
     
    default Map<String,Object>
    Returns the request hints
    void
    This is called during the connection to the server, allowing this request to write out data to the server by using the provided outputStream.
    boolean
    This method indicates whether this request needs to transmit some data to the server using POST.
    void
    setProperty(String name, String value)
    Sets the name/value property for this request.
    default void
    Sets hints that might be driving how the request is performed
  • Field Details

  • Method Details

    • getFinalURL

      URL getFinalURL()
      Once the properties of the request are configured, this will return the URL that points to the server and contains all of the appropriate name/value parameters.
      Returns:
      a URL that can be used to issue the request
    • setProperty

      void setProperty(String name, String value)
      Sets the name/value property for this request.

      Note that when using this method, it is up to the programmer to provide their own encoding of value according to the OWS specifications! The code will not do this for you.

      Different OWS specifications define different ways to do this. There are notorious differences between WMS 1.1.1 (section 6.2.1) and WMS 1.3.0 (section 6.3.2) for example.

      If value is null, "name" is removed from the properties table.

      Parameters:
      name - the name of the property
      value - the value of the property
    • getProperties

      Properties getProperties()
      Returns:
      a copy of this request's properties
    • createResponse

      default Response createResponse(HTTPResponse response) throws ServiceException, IOException
      Each Request must know how to create it's counterpart Response. Given the content type and input stream (containin the response data), this method must return an appropriate Response object.
      Throws:
      ServiceException
      IOException
    • requiresPost

      boolean requiresPost()
      This method indicates whether this request needs to transmit some data to the server using POST. If this returns true, performPostOutput() will be called during the connection, allowing the data to be written out to the server.
      Returns:
      true if this request needs POST support, false otherwise.
    • getPostContentType

      String getPostContentType()
      If this request uses POST, it must specify the content type of the data that is to be written out during performPostOutput().

      For open web services, this is usually "application/xml".

      Returns:
      the MIME type of the data to be sent during the request
    • performPostOutput

      void performPostOutput(OutputStream outputStream) throws IOException
      This is called during the connection to the server, allowing this request to write out data to the server by using the provided outputStream.

      Implementors of this method do not need to call outputStream.flush() or outputStream.close(). The framework will call them immediately after calling this method.

      Throws:
      IOException
    • setRequestHints

      default void setRequestHints(Map<String,Object> hints)
      Sets hints that might be driving how the request is performed
    • getRequestHints

      default Map<String,Object> getRequestHints()
      Returns the request hints