org.jivesoftware.util.ParamUtils Maven / Gradle / Ivy
The newest version!
/*
* Copyright (C) 2004-2008 Jive Software. All rights reserved.
*
* 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.jivesoftware.util;
import javax.servlet.http.HttpServletRequest;
/**
* Assists JSP writers in getting parameters and attributes.
*/
public class ParamUtils {
/**
* Returns a parameter as a string.
*
* @param request the HttpServletRequest object, known as "request" in a
* JSP page.
* @param name the name of the parameter you want to get
* @return the value of the parameter or null if the parameter was not
* found or if the parameter is a zero-length string.
*/
public static String getParameter(HttpServletRequest request, String name) {
return getParameter(request, name, false);
}
/**
* Returns a parameter as a string.
*
* @param request the HttpServletRequest object, known as "request" in a
* JSP page.
* @param name the name of the parameter you want to get
* @param emptyStringsOK return the parameter values even if it is an empty string.
* @return the value of the parameter or null if the parameter was not
* found.
*/
public static String getParameter(HttpServletRequest request, String name,
boolean emptyStringsOK)
{
String temp = request.getParameter(name);
if (temp != null) {
if (temp.equals("") && !emptyStringsOK) {
return null;
}
else {
return temp;
}
}
else {
return null;
}
}
/**
* Returns a list of parameters of the same name
*
* @param request an HttpServletRequest object.
* @return an array of non-null, non-blank strings of the same name. This
* method will return an empty array if no parameters were found.
*/
public static String[] getParameters(HttpServletRequest request, String name) {
if (name == null) {
return new String[0];
}
String[] paramValues = request.getParameterValues(name);
if (paramValues == null || paramValues.length == 0) {
return new String[0];
}
else {
java.util.List values = new java.util.ArrayList<>(paramValues.length);
for (int i = 0; i < paramValues.length; i++) {
if (paramValues[i] != null && !"".equals(paramValues[i])) {
values.add(paramValues[i]);
}
}
return values.toArray(new String[]{});
}
}
/**
* Returns a parameter as a boolean.
*
* @param request the HttpServletRequest object, known as "request" in a
* JSP page.
* @param name the name of the parameter you want to get
* @return true if the value of the parameter was "true", false otherwise.
*/
public static boolean getBooleanParameter(HttpServletRequest request, String name) {
return getBooleanParameter(request, name, false);
}
/**
* Returns a parameter as a boolean.
*
* @param request the HttpServletRequest object, known as "request" in a
* JSP page.
* @param name the name of the parameter you want to get
* @return true if the value of the parameter was "true", false otherwise.
*/
public static boolean getBooleanParameter(HttpServletRequest request,
String name, boolean defaultVal)
{
String temp = request.getParameter(name);
if ("true".equals(temp) || "on".equals(temp)) {
return true;
}
else if ("false".equals(temp) || "off".equals(temp)) {
return false;
}
else {
return defaultVal;
}
}
/**
* Returns a parameter as an int.
*
* @param request the HttpServletRequest object, known as "request" in a
* JSP page.
* @param name the name of the parameter you want to get
* @return the int value of the parameter specified or the default value if
* the parameter is not found.
*/
public static int getIntParameter(HttpServletRequest request,
String name, int defaultNum) {
String temp = request.getParameter(name);
if (temp != null && !temp.equals("")) {
int num = defaultNum;
try {
num = Integer.parseInt(temp);
}
catch (Exception ignored) {
}
return num;
}
else {
return defaultNum;
}
}
/**
* Returns a list of int parameters.
*
* @param request the HttpServletRequest object, known as "request" in a
* JSP page.
* @param name the name of the parameter you want to get
* @param defaultNum the default value of a parameter, if the parameter
* can't be converted into an int.
*/
public static int[] getIntParameters(HttpServletRequest request,
String name, int defaultNum) {
String[] paramValues = request.getParameterValues(name);
if (paramValues == null || paramValues.length == 0) {
return new int[0];
}
int[] values = new int[paramValues.length];
for (int i = 0; i < paramValues.length; i++) {
try {
values[i] = Integer.parseInt(paramValues[i]);
}
catch (Exception e) {
values[i] = defaultNum;
}
}
return values;
}
/**
* Returns a parameter as a double.
*
* @param request the HttpServletRequest object, known as "request" in a
* JSP page.
* @param name the name of the parameter you want to get
* @return the double value of the parameter specified or the default value
* if the parameter is not found.
*/
public static double getDoubleParameter(HttpServletRequest request, String name, double defaultNum) {
String temp = request.getParameter(name);
if (temp != null && !temp.equals("")) {
double num = defaultNum;
try {
num = Double.parseDouble(temp);
}
catch (Exception ignored) {
}
return num;
}
else {
return defaultNum;
}
}
/**
* Returns a parameter as a long.
*
* @param request the HttpServletRequest object, known as "request" in a
* JSP page.
* @param name the name of the parameter you want to get
* @return the long value of the parameter specified or the default value if
* the parameter is not found.
*/
public static long getLongParameter(HttpServletRequest request, String name, long defaultNum) {
String temp = request.getParameter(name);
if (temp != null && !temp.equals("")) {
long num = defaultNum;
try {
num = Long.parseLong(temp);
}
catch (Exception ignored) {
}
return num;
}
else {
return defaultNum;
}
}
/**
* Returns a list of long parameters.
*
* @param request the HttpServletRequest object, known as "request" in a
* JSP page.
* @param name the name of the parameter you want to get
* @param defaultNum the default value of a parameter, if the parameter
* can't be converted into a long.
*/
public static long[] getLongParameters(HttpServletRequest request, String name,
long defaultNum)
{
String[] paramValues = request.getParameterValues(name);
if (paramValues == null || paramValues.length == 0) {
return new long[0];
}
long[] values = new long[paramValues.length];
for (int i = 0; i < paramValues.length; i++) {
try {
values[i] = Long.parseLong(paramValues[i]);
}
catch (Exception e) {
values[i] = defaultNum;
}
}
return values;
}
/**
* Returns an attribute as a string.
*
* @param request the HttpServletRequest object, known as "request" in a JSP page.
* @param name the name of the parameter you want to get
* @return the value of the parameter or null if the parameter was not
* found or if the parameter is a zero-length string.
*/
public static String getAttribute(HttpServletRequest request, String name) {
return getAttribute(request, name, false);
}
/**
* Returns an attribute as a string.
*
* @param request the HttpServletRequest object, known as "request" in a JSP page.
* @param name the name of the parameter you want to get.
* @param emptyStringsOK return the parameter values even if it is an empty string.
* @return the value of the parameter or null if the parameter was not
* found.
*/
public static String getAttribute(HttpServletRequest request, String name,
boolean emptyStringsOK)
{
String temp = (String)request.getAttribute(name);
if (temp != null) {
if (temp.equals("") && !emptyStringsOK) {
return null;
}
else {
return temp;
}
}
else {
return null;
}
}
/**
* Returns an attribute as a boolean.
*
* @param request the HttpServletRequest object, known as "request" in a JSP page.
* @param name the name of the attribute you want to get.
* @return true if the value of the attribute is "true", false otherwise.
*/
public static boolean getBooleanAttribute(HttpServletRequest request, String name) {
String temp = (String)request.getAttribute(name);
if (temp != null && temp.equals("true")) {
return true;
}
else {
return false;
}
}
/**
* Returns an attribute as a int.
*
* @param request the HttpServletRequest object, known as "request" in a JSP page.
* @param name the name of the attribute you want to get.
* @return the int value of the attribute or the default value if the
* attribute is not found or is a zero length string.
*/
public static int getIntAttribute(HttpServletRequest request, String name, int defaultNum) {
String temp = (String)request.getAttribute(name);
if (temp != null && !temp.equals("")) {
int num = defaultNum;
try {
num = Integer.parseInt(temp);
}
catch (Exception ignored) {
}
return num;
}
else {
return defaultNum;
}
}
/**
* Returns an attribute as a long.
*
* @param request the HttpServletRequest object, known as "request" in a JSP page.
* @param name the name of the attribute you want to get.
* @return the long value of the attribute or the default value if the
* attribute is not found or is a zero length string.
*/
public static long getLongAttribute(HttpServletRequest request, String name, long defaultNum) {
String temp = (String)request.getAttribute(name);
if (temp != null && !temp.equals("")) {
long num = defaultNum;
try {
num = Long.parseLong(temp);
}
catch (Exception ignored) {
}
return num;
}
else {
return defaultNum;
}
}
}