You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ro...@apache.org on 2007/05/26 18:21:59 UTC
svn commit: r541912 - in
/jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params:
AbstractHttpParams.java BasicHttpParams.java HttpParams.java
Author: rolandw
Date: Sat May 26 09:21:57 2007
New Revision: 541912
URL: http://svn.apache.org/viewvc?view=rev&rev=541912
Log:
params refactoring, step 1+2
Added:
jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/AbstractHttpParams.java (with props)
Modified:
jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/BasicHttpParams.java
jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/HttpParams.java
Added: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/AbstractHttpParams.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/AbstractHttpParams.java?view=auto&rev=541912
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/AbstractHttpParams.java (added)
+++ jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/AbstractHttpParams.java Sat May 26 09:21:57 2007
@@ -0,0 +1,165 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ * 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.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.http.params;
+
+import org.apache.http.params.HttpParams;
+
+
+/**
+ * Abstract base class for parameter collections.
+ * Type specific setters and getters are mapped to the abstract,
+ * generic getters and setters.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ * @author <a href="mailto:rolandw at apache.org">Roland Weber</a>
+ *
+ * @version $Revision$
+ */
+public abstract class AbstractHttpParams implements HttpParams {
+
+ /**
+ * The optional set of default values to defer to.
+ * <br/>
+ * <b>WARNING:</b> Handling of default parameters is currently
+ * subject to discussions, and may be changed signifcantly.
+ */
+ protected HttpParams defaults;
+
+ /**
+ * Instantiates parameters.
+ */
+ protected AbstractHttpParams() {
+ super();
+ }
+
+
+
+ /**
+ * Obtains default parameters, if set.
+ * <br/>
+ * <b>WARNING:</b> Handling of default parameters is currently
+ * subject to discussions, and may be changed signifcantly.
+ *
+ * @return the defaults, or <code>null</code>
+ */
+ public synchronized HttpParams getDefaults() {
+ return this.defaults;
+ }
+
+ /**
+ * Provides default parameters.
+ * <br/>
+ * <b>WARNING:</b> Handling of default parameters is currently
+ * subject to discussions, and may be changed signifcantly.
+ *
+ * @param params the new defaults, or <code>null</code> to unset
+ */
+ public synchronized void setDefaults(final HttpParams params) {
+
+ // check we're not becoming our own defaults, directly or indirectly
+ // that would trigger an endless loop when looking up an unknown param
+ HttpParams ancestor = params;
+ while (ancestor != null) {
+ // check for object identity, not .equals
+ if (ancestor == this) {
+ throw new IllegalArgumentException
+ ("cyclic default params detected");
+ }
+ ancestor = ancestor.getDefaults();
+ }
+
+ this.defaults = params;
+ }
+
+
+
+ public long getLongParameter(final String name, long defaultValue) {
+ Object param = getParameter(name);
+ if (param == null) {
+ return defaultValue;
+ }
+ return ((Long)param).longValue();
+ }
+
+ public HttpParams setLongParameter(final String name, long value) {
+ setParameter(name, new Long(value));
+ return this;
+ }
+
+ public int getIntParameter(final String name, int defaultValue) {
+ Object param = getParameter(name);
+ if (param == null) {
+ return defaultValue;
+ }
+ return ((Integer)param).intValue();
+ }
+
+ public HttpParams setIntParameter(final String name, int value) {
+ setParameter(name, new Integer(value));
+ return this;
+ }
+
+ public double getDoubleParameter(final String name, double defaultValue) {
+ Object param = getParameter(name);
+ if (param == null) {
+ return defaultValue;
+ }
+ return ((Double)param).doubleValue();
+ }
+
+ public HttpParams setDoubleParameter(final String name, double value) {
+ setParameter(name, new Double(value));
+ return this;
+ }
+
+ public boolean getBooleanParameter(final String name, boolean defaultValue) {
+ Object param = getParameter(name);
+ if (param == null) {
+ return defaultValue;
+ }
+ return ((Boolean)param).booleanValue();
+ }
+
+ public HttpParams setBooleanParameter(final String name, boolean value) {
+ setParameter(name, value ? Boolean.TRUE : Boolean.FALSE);
+ return this;
+ }
+
+ public boolean isParameterTrue(final String name) {
+ return getBooleanParameter(name, false);
+ }
+
+ public boolean isParameterFalse(final String name) {
+ return !getBooleanParameter(name, false);
+ }
+
+} // class AbstractHttpParams
Propchange: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/AbstractHttpParams.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/AbstractHttpParams.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/AbstractHttpParams.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/BasicHttpParams.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/BasicHttpParams.java?view=diff&rev=541912&r1=541911&r2=541912
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/BasicHttpParams.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/BasicHttpParams.java Sat May 26 09:21:57 2007
@@ -44,21 +44,22 @@
* If a particular parameter value has not been explicitly defined
* in the collection itself, its value will be drawn from the parent
* collection of parameters.
+ * <br/>
+ * <b>WARNING:</b> Handling of default parameters is currently
+ * subject to discussions, and may be changed signifcantly.
*
* @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
*
* @version $Revision$
*/
-public class BasicHttpParams implements HttpParams, Serializable {
+public class BasicHttpParams extends AbstractHttpParams
+ implements HttpParams, Serializable {
- static final long serialVersionUID = -8296449161405728403L;
-
- /** The set of default values to defer to. */
- private HttpParams defaults = null;
+ static final long serialVersionUID = 4571099216197814749L;
/** Map of HTTP parameters that this collection contains. */
- private HashMap parameters = null;
-
+ private HashMap parameters;
+
/**
* Creates a new collection of parameters with the given parent.
* The collection will defer to its parent for a default value
@@ -72,32 +73,11 @@
super();
setDefaults(defaults); // perform ancestor check
}
-
+
public BasicHttpParams() {
this(null);
}
- public synchronized HttpParams getDefaults() {
- return this.defaults;
- }
-
- public synchronized void setDefaults(final HttpParams params) {
-
- // check we're not becoming our own defaults, directly or indirectly
- // that would trigger an endless loop when looking up an unknown param
- HttpParams ancestor = params;
- while (ancestor != null) {
- // check for object identity, not .equals
- if (ancestor == this) {
- throw new IllegalArgumentException
- ("cyclic default params detected");
- }
- ancestor = ancestor.getDefaults();
- }
-
- this.defaults = params;
- }
-
public synchronized Object getParameter(final String name) {
// See if the parameter has been explicitly defined
Object param = null;
@@ -139,58 +119,6 @@
}
}
- public long getLongParameter(final String name, long defaultValue) {
- Object param = getParameter(name);
- if (param == null) {
- return defaultValue;
- }
- return ((Long)param).longValue();
- }
-
- public HttpParams setLongParameter(final String name, long value) {
- setParameter(name, new Long(value));
- return this;
- }
-
- public int getIntParameter(final String name, int defaultValue) {
- Object param = getParameter(name);
- if (param == null) {
- return defaultValue;
- }
- return ((Integer)param).intValue();
- }
-
- public HttpParams setIntParameter(final String name, int value) {
- setParameter(name, new Integer(value));
- return this;
- }
-
- public double getDoubleParameter(final String name, double defaultValue) {
- Object param = getParameter(name);
- if (param == null) {
- return defaultValue;
- }
- return ((Double)param).doubleValue();
- }
-
- public HttpParams setDoubleParameter(final String name, double value) {
- setParameter(name, new Double(value));
- return this;
- }
-
- public boolean getBooleanParameter(final String name, boolean defaultValue) {
- Object param = getParameter(name);
- if (param == null) {
- return defaultValue;
- }
- return ((Boolean)param).booleanValue();
- }
-
- public HttpParams setBooleanParameter(final String name, boolean value) {
- setParameter(name, value ? Boolean.TRUE : Boolean.FALSE);
- return this;
- }
-
public boolean isParameterSet(final String name) {
return getParameter(name) != null;
}
@@ -199,16 +127,8 @@
return this.parameters != null && this.parameters.get(name) != null;
}
- public boolean isParameterTrue(final String name) {
- return getBooleanParameter(name, false);
- }
-
- public boolean isParameterFalse(final String name) {
- return !getBooleanParameter(name, false);
- }
-
/**
- * Removes all parameters from this collection.
+ * Removes all parameters from this collection.
*/
public synchronized void clear() {
this.parameters = null;
@@ -241,7 +161,7 @@
* Copies the locally defined parameters to the argument parameters.
* Default parameters accessible via {@link #getDefaults}
* are <i>not</i> copied.
- * This method is called from {@link #copyParams()}.
+ * This method is called from {@link #copy()}.
*
* @param target the parameters to which to copy
*/
Modified: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/HttpParams.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/HttpParams.java?view=diff&rev=541912&r1=541911&r2=541912
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/HttpParams.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/HttpParams.java Sat May 26 09:21:57 2007
@@ -33,10 +33,12 @@
/**
* Represents a collection of HTTP protocol and framework parameters.
- * Parameters may be linked together to form a hierarchy.
- * If a particular parameter value has not been explicitly defined
- * in the collection itself, its value will be drawn from the parent
- * collection of parameters.
+ * <br/>
+ * <b>WARNING:</b> This interface includes methods for building hierarchies of
+ * parameters. These methods are clearly marked as <i>not part of the API</i>.
+ * The handling of default parameters is currently subject to discussions and
+ * may be changed signifcantly, or removed. Do not try to evaluate, build or
+ * modify parameter hierarchies in your application.
*
* @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
*
@@ -46,25 +48,33 @@
*/
public interface HttpParams {
- /**
- * Returns the parent collection that this collection will defer to
- * for a default value if a particular parameter is not explicitly
- * set in the collection itself
+ /**
+ * <b>WARNING:</b> This method is not part of the API.
+ * It is exclusively for internal use by the HTTP Components framework.
+ * Do not call it in your application. Do not try to evaluate, build or
+ * modify parameter hierarchies in your application.
+ * <br/>
+ *
+ * Returns the parent collection that the collection may defer to
+ * for a default value if a particular parameter is not explicitly set.
*
- * @return the parent collection to defer to, if a particular parameter
- * is not explictly set in the collection itself.
+ * @return the parent collection, or <code>null</code>
*
* @see #setDefaults(HttpParams)
*/
HttpParams getDefaults();
/**
- * Assigns the parent collection that this collection will defer to
- * for a default value if a particular parameter is not explicitly
- * set in the collection itself
+ * <b>WARNING:</b> This method is not part of the API.
+ * It is exclusively for internal use by the HTTP Components framework.
+ * Do not call it in your application. Do not try to evaluate, build or
+ * modify parameter hierarchies in your application.
+ * <br/>
+ *
+ * Provides the parent collection that this collection may defer to
+ * for a default value if a particular parameter is not explicitly set.
*
- * @param params the parent collection to defer to, if a particular
- * parameter is not explictly set in the collection itself.
+ * @param params the parent collection, or <code>null</code>
*
* @see #getDefaults()
*/
@@ -207,14 +217,22 @@
boolean isParameterSet(String name);
/**
- * Returns <tt>true</tt> if the parameter is set locally, <tt>false</tt> otherwise.
+ * <b>WARNING:</b> This method is not part of the API.
+ * It is exclusively for internal use by the HTTP Components framework.
+ * Do not call it in your application. Do not try to evaluate, build or
+ * modify parameter hierarchies in your application.
+ * <br/>
*
- * @param name parameter name
+ * @param name the parameter name
*
- * @return <tt>true</tt> if the parameter is set locally, <tt>false</tt>
- * otherwise.
+ * @return <tt>true</tt> if the parameter is set locally,
+ * <tt>false</tt> otherwise
+ *
+ * @see #getDefaults()
+ * @see #setDefaults(HttpParams)
*/
boolean isParameterSetLocally(String name);
+
/**
* Returns <tt>true</tt> if the parameter is set and is <tt>true</tt>, <tt>false</tt>