1069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project/* 2069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * $HeadURL: http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/ClientParamsStack.java $ 3069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * $Revision: 673450 $ 4069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * $Date: 2008-07-02 10:35:05 -0700 (Wed, 02 Jul 2008) $ 5069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 6069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * ==================================================================== 7069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one 8069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * or more contributor license agreements. See the NOTICE file 9069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * distributed with this work for additional information 10069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * regarding copyright ownership. The ASF licenses this file 11069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * to you under the Apache License, Version 2.0 (the 12069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * "License"); you may not use this file except in compliance 13069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * with the License. You may obtain a copy of the License at 14069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 15069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 16069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 17069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Unless required by applicable law or agreed to in writing, 18069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * software distributed under the License is distributed on an 19069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 20069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * KIND, either express or implied. See the License for the 21069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * specific language governing permissions and limitations 22069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * under the License. 23069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * ==================================================================== 24069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 25069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * This software consists of voluntary contributions made by many 26069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * individuals on behalf of the Apache Software Foundation. For more 27069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * information on the Apache Software Foundation, please see 28069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <http://www.apache.org/>. 29069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 30069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 31069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 32069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectpackage org.apache.http.impl.client; 33069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 34069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 35069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectimport org.apache.commons.logging.Log; 36069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectimport org.apache.commons.logging.LogFactory; 37069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectimport org.apache.http.params.HttpParams; 38069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectimport org.apache.http.params.AbstractHttpParams; 39069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 40069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 41069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project/** 42069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Represents a stack of parameter collections. 43069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * When retrieving a parameter, the stack is searched in a fixed order 44069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * and the first match returned. Setting parameters via the stack is 45069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * not supported. To minimize overhead, the stack has a fixed size and 46069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * does not maintain an internal array. 47069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * The supported stack entries, sorted by increasing priority, are: 48069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <ol> 49069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <li>Application parameters: 50069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * expected to be the same for all clients used by an application. 51069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * These provide "global", that is application-wide, defaults. 52069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * </li> 53069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <li>Client parameters: 54069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * specific to an instance of 55069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * {@link org.apache.http.client.HttpClient HttpClient}. 56069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * These provide client specific defaults. 57069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * </li> 58069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <li>Request parameters: 59069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * specific to a single request execution. 60069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * For overriding client and global defaults. 61069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * </li> 62069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <li>Override parameters: 63069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * specific to an instance of 64069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * {@link org.apache.http.client.HttpClient HttpClient}. 65069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * These can be used to set parameters that cannot be overridden 66069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * on a per-request basis. 67069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * </li> 68069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * </ol> 69069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Each stack entry may be <code>null</code>. That is preferable over 70069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * an empty params collection, since it avoids searching the empty collection 71069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * when looking up parameters. 72069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 73069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @author <a href="mailto:rolandw at apache.org">Roland Weber</a> 74069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 75069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 76069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @version $Revision: 673450 $ 77d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath * 78d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath * @deprecated Please use {@link java.net.URL#openConnection} instead. 79d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath * Please visit <a href="http://android-developers.blogspot.com/2011/09/androids-http-clients.html">this webpage</a> 80d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath * for further details. 81069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 82d42abb2fd917184764daf22f5f299e848b8701d7Narayan Kamath@Deprecated 83069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Projectpublic class ClientParamsStack extends AbstractHttpParams { 84069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 85069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project private final Log log = LogFactory.getLog(getClass()); 86069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 87069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** The application parameter collection, or <code>null</code>. */ 88069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project protected final HttpParams applicationParams; 89069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 90069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** The client parameter collection, or <code>null</code>. */ 91069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project protected final HttpParams clientParams; 92069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 93069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** The request parameter collection, or <code>null</code>. */ 94069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project protected final HttpParams requestParams; 95069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 96069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** The override parameter collection, or <code>null</code>. */ 97069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project protected final HttpParams overrideParams; 98069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 99069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 100069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 101069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Creates a new parameter stack from elements. 102069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * The arguments will be stored as-is, there is no copying to 103069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * prevent modification. 104069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 105069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param aparams application parameters, or <code>null</code> 106069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param cparams client parameters, or <code>null</code> 107069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param rparams request parameters, or <code>null</code> 108069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param oparams override parameters, or <code>null</code> 109069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 110069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public ClientParamsStack(HttpParams aparams, HttpParams cparams, 111069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project HttpParams rparams, HttpParams oparams) { 112069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project applicationParams = aparams; 113069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project clientParams = cparams; 114069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project requestParams = rparams; 115069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project overrideParams = oparams; 116069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 117069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 118069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 119069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 120069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Creates a copy of a parameter stack. 121069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * The new stack will have the exact same entries as the argument stack. 122069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * There is no copying of parameters. 123069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 124069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param stack the stack to copy 125069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 126069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public ClientParamsStack(ClientParamsStack stack) { 127069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project this(stack.getApplicationParams(), 128069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project stack.getClientParams(), 129069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project stack.getRequestParams(), 130069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project stack.getOverrideParams()); 131069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 132069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 133069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 134069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 135069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Creates a modified copy of a parameter stack. 136069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * The new stack will contain the explicitly passed elements. 137069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * For elements where the explicit argument is <code>null</code>, 138069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * the corresponding element from the argument stack is used. 139069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * There is no copying of parameters. 140069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 141069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param stack the stack to modify 142069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param aparams application parameters, or <code>null</code> 143069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param cparams client parameters, or <code>null</code> 144069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param rparams request parameters, or <code>null</code> 145069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param oparams override parameters, or <code>null</code> 146069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 147069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public ClientParamsStack(ClientParamsStack stack, 148069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project HttpParams aparams, HttpParams cparams, 149069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project HttpParams rparams, HttpParams oparams) { 150069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project this((aparams != null) ? aparams : stack.getApplicationParams(), 151069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project (cparams != null) ? cparams : stack.getClientParams(), 152069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project (rparams != null) ? rparams : stack.getRequestParams(), 153069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project (oparams != null) ? oparams : stack.getOverrideParams()); 154069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 155069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 156069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 157069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 158069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Obtains the application parameters of this stack. 159069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 160069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @return the application parameters, or <code>null</code> 161069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 162069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public final HttpParams getApplicationParams() { 163069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project return applicationParams; 164069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 165069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 166069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 167069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Obtains the client parameters of this stack. 168069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 169069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @return the client parameters, or <code>null</code> 170069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 171069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public final HttpParams getClientParams() { 172069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project return clientParams; 173069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 174069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 175069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 176069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Obtains the request parameters of this stack. 177069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 178069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @return the request parameters, or <code>null</code> 179069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 180069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public final HttpParams getRequestParams() { 181069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project return requestParams; 182069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 183069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 184069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 185069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Obtains the override parameters of this stack. 186069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 187069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @return the override parameters, or <code>null</code> 188069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 189069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public final HttpParams getOverrideParams() { 190069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project return overrideParams; 191069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 192069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 193069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 194069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 195069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Obtains a parameter from this stack. 196069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * See class comment for search order. 197069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 198069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param name the name of the parameter to obtain 199069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 200069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @return the highest-priority value for that parameter, or 201069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <code>null</code> if it is not set anywhere in this stack 202069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 203069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public Object getParameter(String name) { 204069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project if (name == null) { 205069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project throw new IllegalArgumentException 206069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project ("Parameter name must not be null."); 207069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 208069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 209069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project Object result = null; 210069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 211069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project if (overrideParams != null) { 212069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project result = overrideParams.getParameter(name); 213069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 214069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project if ((result == null) && (requestParams != null)) { 215069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project result = requestParams.getParameter(name); 216069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 217069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project if ((result == null) && (clientParams != null)) { 218069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project result = clientParams.getParameter(name); 219069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 220069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project if ((result == null) && (applicationParams != null)) { 221069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project result = applicationParams.getParameter(name); 222069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 223069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project if (this.log.isDebugEnabled()) { 224069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project this.log.debug("'" + name + "': " + result); 225069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 226069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 227069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project return result; 228069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 229069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 230069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 231069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Does <i>not</i> set a parameter. 232069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Parameter stacks are read-only. It is possible, though discouraged, 233069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * to access and modify specific stack entries. 234069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Derived classes may change this behavior. 235069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 236069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param name ignored 237069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param value ignored 238069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 239069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @return nothing 240069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 241069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @throws UnsupportedOperationException always 242069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 243069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public HttpParams setParameter(String name, Object value) 244069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project throws UnsupportedOperationException { 245069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 246069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project throw new UnsupportedOperationException 247069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project ("Setting parameters in a stack is not supported."); 248069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 249069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 250069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 251069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 252069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Does <i>not</i> remove a parameter. 253069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Parameter stacks are read-only. It is possible, though discouraged, 254069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * to access and modify specific stack entries. 255069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Derived classes may change this behavior. 256069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 257069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @param name ignored 258069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 259069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @return nothing 260069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 261069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @throws UnsupportedOperationException always 262069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 263069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public boolean removeParameter(String name) { 264069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project throw new UnsupportedOperationException 265069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project ("Removing parameters in a stack is not supported."); 266069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 267069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 268069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 269069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project /** 270069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Does <i>not</i> copy parameters. 271069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Parameter stacks are lightweight objects, expected to be instantiated 272069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * as needed and to be used only in a very specific context. On top of 273069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * that, they are read-only. The typical copy operation to prevent 274069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * accidental modification of parameters passed by the application to 275069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * a framework object is therefore pointless and disabled. 276069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Create a new stack if you really need a copy. 277069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * <br/> 278069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * Derived classes may change this behavior. 279069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * 280069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project * @return <code>this</code> parameter stack 281069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project */ 282069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project public HttpParams copy() { 283069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project return this; 284069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project } 285069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 286069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project 287069490a5ca2fd1988d29daf45d892f47ad665115The Android Open Source Project} 288