Package org.gwtopenmaps.openlayers.client.layer

Source Code of org.gwtopenmaps.openlayers.client.layer.HTTPRequestLayer

/**
*
*   Copyright 2013 sourceforge.
*
*   Licensed under the Apache License, Version 2.0 (the "License");
*   you may not use this file except in compliance with the License.
*   You may obtain a copy of the License at
*
*        http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software
*   distributed under the License is distributed on an "AS IS" BASIS,
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*   See the License for the specific language governing permissions and
*   limitations under the License.
*/
package org.gwtopenmaps.openlayers.client.layer;

import org.gwtopenmaps.openlayers.client.util.JSObject;
import org.gwtopenmaps.openlayers.client.util.JStringArray;


/**
* Wrapper of OpenLayers.Layer.HTTPRequest in OpenLayers. Renamed HTTPREquest
* to HTTPRequestLayer so it is not confused with HTTPRequest in GWT.
*
* HTTPRequest in GWT provides functionality to make basic HTTP requests.
*
* HTTPRequestLayer in GWT-OL supports ...
*
* From OL API docs:
*
*
* @author Edwin Commandeur - Atlis EJS
* @author Michel Vitor A Rodrigues - Intec
*
*/
public class HTTPRequestLayer extends Layer
{

    protected HTTPRequestLayer(JSObject httpRequestLayer)
    {
        super(httpRequestLayer);
    }

    /**
     * Constructor: HTTPRequestLayer
     *
     * Parameters:
     * name    - {String}
     * url     - {String}
     * params  - {WMSParams}
     * options - {HTTPRequestLayerOptions} Hashtable of extra options to tag onto the layer
     */
    public HTTPRequestLayer(String name, String url, WMSParams params, HTTPRequestLayerOptions options)
    {
        this(HTTPRequestLayerImpl.create(name, url, params.getJSObject(), options.getJSObject()));
    }

    /**
     * Constructor: HTTPRequestLayer
     *
     * Parameters:
     * name    - {String}
     * url     - {String}
     * params  - {WMSParams}
     *
     */
    public HTTPRequestLayer(String name, String url, WMSParams params)
    {
        this(HTTPRequestLayerImpl.create(name, url, params.getJSObject()));
    }

    /**
     * Constructor: HTTPRequestLayer
     *
     * Parameters:
     * name    - {String}
     * url     - {Array (String)}
     * params  - {WMSParams}
     * options - {HTTPRequestLayerOptions} Hashtable of extra options to tag onto the layer
     */
    public HTTPRequestLayer(String name, String[] urls, WMSParams params, HTTPRequestLayerOptions options)
    {
        this(HTTPRequestLayerImpl.create(name, new JStringArray(urls).getJSObject(), params.getJSObject(), options.getJSObject()));
    }

    /**
     * Constructor: HTTPRequestLayer
     *
     * Parameters:
     * name    - {String}
     * url     - {Array (String)}
     * params  - {WMSParams}
     *
     */
    public HTTPRequestLayer(String name, String[] urls, WMSParams params)
    {
        this(HTTPRequestLayerImpl.create(name, new JStringArray(urls).getJSObject(), params.getJSObject()));
    }

    public HTTPRequestLayer narrowToHTTPRequestLayer(JSObject httpRequestLayer)
    {
        return (httpRequestLayer == null) ? null : new HTTPRequestLayer(httpRequestLayer);
    }

    /**
     * APIMethod: destroy
     */
    public void destroy()
    {
        HTTPRequestLayerImpl.destroy(getJSObject());
    }

    /**
     * APIMethod: clone
     *
     * Parameters:
     * obj - {HTTPRequest}
     *
     * Returns:
     * {HTTPRequest} An exact clone of this HTTPRequest
     */
    public HTTPRequestLayer clone(HTTPRequestLayer obj)
    {
        return new HTTPRequestLayer(HTTPRequestLayerImpl.Clone(getJSObject(), obj.getJSObject()));
    }

    /**
     * APIMethod: setUrl
     *
     * Parameters:
     * newUrl - {String}
     */
    public void setUrl(String newUrl)
    {
        HTTPRequestLayerImpl.setURL(getJSObject(), newUrl);
    }

    /**
     * APIMethod: mergeNewParams
     *
     * Parameters:
     * newParams - {Object}
     *
     * Returns:
     * redrawn: {Boolean} whether the layer was actually redrawn.
     */
    public boolean mergeNewParams(Params params)
    {
        return HTTPRequestLayerImpl.mergeNewParams(getJSObject(), params.getJSObject());
    }

    /**
     * @param force - if true force redraw by adding random parameter to getMap request
     *
     * If force is false or null no random parameters are added, in that case
     * the browser may cache the getMap request, thus not redrawing the map
     *
     */
    public boolean redraw(boolean force)
    {
        return LayerImpl.redraw(getJSObject(), force);
    }

    /**
     * Method: selectUrl
     * selectUrl() implements the standard floating-point multiplicative
     *     hash function described by Knuth, and hashes the contents of the
     *     given param string into a float between 0 and 1. This float is then
     *     scaled to the size of the provided urls array, and used to select
     *     a URL.
     *
     * Parameters:
     * paramString - {String}
     * urls - {String}
     *
     * Returns:
     * {String} An entry from the urls array, deterministically selected based
     *          on the paramString.
     */
    public String selectUrl(String paramString, String url)
    {
        return HTTPRequestLayerImpl.selectUrl(getJSObject(), paramString, url);
    }

//    /**
//     * Method: selectUrl
//     * selectUrl() implements the standard floating-point multiplicative
//     *     hash function described by Knuth, and hashes the contents of the
//     *     given param string into a float between 0 and 1. This float is then
//     *     scaled to the size of the provided urls array, and used to select
//     *     a URL.
//     *
//     * Parameters:
//     * paramString - {String}
//     * urls - {String}
//     *
//     * Returns:
//     * {String} An entry from the urls array, deterministically selected based
//     *          on the paramString.
//     */
//    public String[] SelectUrl(String paramString, String[] urls){
//      String[] objaltUrl = HTTPRequestLayerImpl.selectUrl(getJSObject(), paramString, new JStringArray(urls).getJSObject());
//      String[] SelectUrl = new String[objaltUrl.length];
//              for(int i = 0; i < objaltUrl.length; i++) {
//                      SelectUrl[i] = objaltUrl[i];
//              }
//              return SelectUrl;
//    }

    /**
     * Method: getFullRequestString
     * Combine url with layer's params and these newParams.
     *
     *    does checking on the serverPath variable, allowing for cases when it
     *     is supplied with trailing ? or &, as well as cases where not.
     *
     *    return in formatted string like this:
     *        "server?key1=value1&key2=value2&key3=value3"
     *
     * WARNING: The altUrl parameter is deprecated and will be removed in 3.0.
     *
     * Parameters:
     * newParams - {WMSParams}
     * altUrl - {String} Use this as the url instead of the layer's url
     *
     * Returns:
     * {String}
     */
    public String getFullRequestString(WMSParams newParams, String altUrl)
    {
        return HTTPRequestLayerImpl.getFullRequestString(getJSObject(), newParams.getJSObject(), altUrl);
    }

}
TOP

Related Classes of org.gwtopenmaps.openlayers.client.layer.HTTPRequestLayer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.