blob: abb47c925218973ba450b43dd8378f964ade517b [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.apache.struts2.components;
import com.opensymphony.xwork2.util.ValueStack;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
* Implemntations of this interface can be used to build a URL
*/
public interface UrlProvider {
/**
* The includeParams attribute may have the value 'none', 'get' or 'all'.
* It is used when the url tag is used without a value attribute.
* Its value is looked up on the ValueStack
* If no includeParams is specified then 'get' is used.
* none - include no parameters in the URL
* get - include only GET parameters in the URL (default)
* all - include both GET and POST parameters in the URL
*/
public static final String NONE = "none";
public static final String GET = "get";
public static final String ALL = "all";
boolean isPutInContext();
String getVar();
String getValue();
String findString(String value);
void setValue(String string);
String getUrlIncludeParams();
String getIncludeParams();
Map getParameters();
HttpServletRequest getHttpServletRequest();
String getAction();
ExtraParameterProvider getExtraParameterProvider();
String getScheme();
String getNamespace();
String getMethod();
HttpServletResponse getHttpServletResponse();
boolean isIncludeContext();
boolean isEncode();
boolean isForceAddSchemeHostAndPort();
boolean isEscapeAmp();
String getPortletMode();
String getWindowState();
String determineActionURL(String action, String namespace, String method, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map parameters, String scheme, boolean includeContext, boolean encode, boolean forceAddSchemeHostAndPort, boolean escapeAmp);
String determineNamespace(String namespace, ValueStack stack, HttpServletRequest req);
String getAnchor();
String getPortletUrlType();
ValueStack getStack();
void setUrlIncludeParams(String urlIncludeParams);
void setHttpServletRequest(HttpServletRequest req);
void setHttpServletResponse(HttpServletResponse res);
void setUrlRenderer(UrlRenderer urlRenderer);
void setExtraParameterProvider(ExtraParameterProvider provider);
void setIncludeParams(String includeParams);
void setScheme(String scheme);
void setAction(String action);
void setPortletMode(String portletMode);
void setNamespace(String namespace);
void setMethod(String method);
void setEncode(boolean encode);
void setIncludeContext(boolean includeContext);
void setWindowState(String windowState);
void setPortletUrlType(String portletUrlType);
void setAnchor(String anchor);
void setEscapeAmp(boolean escapeAmp);
void setForceAddSchemeHostAndPort(boolean forceAddSchemeHostAndPort);
void putInContext(String result);
}