13bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath/*
23bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * $HeadURL: http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/params/HttpParams.java $
33bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * $Revision: 610763 $
43bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * $Date: 2008-01-10 04:01:13 -0800 (Thu, 10 Jan 2008) $
53bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
63bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * ====================================================================
73bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Licensed to the Apache Software Foundation (ASF) under one
83bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * or more contributor license agreements.  See the NOTICE file
93bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * distributed with this work for additional information
103bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * regarding copyright ownership.  The ASF licenses this file
113bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * to you under the Apache License, Version 2.0 (the
123bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * "License"); you may not use this file except in compliance
133bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * with the License.  You may obtain a copy of the License at
143bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
153bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *   http://www.apache.org/licenses/LICENSE-2.0
163bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
173bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Unless required by applicable law or agreed to in writing,
183bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * software distributed under the License is distributed on an
193bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
203bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * KIND, either express or implied.  See the License for the
213bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * specific language governing permissions and limitations
223bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * under the License.
233bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * ====================================================================
243bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
253bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * This software consists of voluntary contributions made by many
263bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * individuals on behalf of the Apache Software Foundation.  For more
273bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * information on the Apache Software Foundation, please see
283bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * <http://www.apache.org/>.
293bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
303bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */
313bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
323bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamathpackage org.apache.http.params;
333bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
343bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath/**
353bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * Represents a collection of HTTP protocol and framework parameters.
363bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
373bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
383bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
393bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @version $Revision: 610763 $
403bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
413bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @since 4.0
423bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *
433bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath * @deprecated Please use {@link java.net.URL#openConnection} instead.
443bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *     Please visit <a href="http://android-developers.blogspot.com/2011/09/androids-http-clients.html">this webpage</a>
453bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath *     for further details.
463bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath */
473bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath@Deprecated
483bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamathpublic interface HttpParams {
493bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
503bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
513bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Obtains the value of the given parameter.
523bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
533bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name the parent name.
543bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
553bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @return  an object that represents the value of the parameter,
563bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *          <code>null</code> if the parameter is not set or if it
573bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *          is explicitly set to <code>null</code>
583bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
593bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @see #setParameter(String, Object)
603bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
613bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    Object getParameter(String name);
623bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
633bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
643bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Assigns the value to the parameter with the given name.
653bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
663bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name parameter name
673bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param value parameter value
683bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
693bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    HttpParams setParameter(String name, Object value);
703bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
713bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
723bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Creates a copy of these parameters.
733bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
743bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @return  a new set of parameters holding the same values as this one
753bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
763bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    HttpParams copy();
773bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
783bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
793bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Removes the parameter with the specified name.
803bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
813bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name parameter name
823bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
833bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @return true if the parameter existed and has been removed, false else.
843bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
853bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    boolean removeParameter(String name);
863bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
873bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
883bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Returns a {@link Long} parameter value with the given name.
893bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * If the parameter is not explicitly set, the default value is returned.
903bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
913bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name the parent name.
923bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param defaultValue the default value.
933bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
943bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @return a {@link Long} that represents the value of the parameter.
953bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
963bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @see #setLongParameter(String, long)
973bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
983bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    long getLongParameter(String name, long defaultValue);
993bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1003bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1013bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Assigns a {@link Long} to the parameter with the given name
1023bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1033bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name parameter name
1043bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param value parameter value
1053bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1063bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    HttpParams setLongParameter(String name, long value);
1073bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1083bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1093bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Returns an {@link Integer} parameter value with the given name.
1103bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * If the parameter is not explicitly set, the default value is returned.
1113bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1123bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name the parent name.
1133bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param defaultValue the default value.
1143bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1153bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @return a {@link Integer} that represents the value of the parameter.
1163bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1173bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @see #setIntParameter(String, int)
1183bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1193bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    int getIntParameter(String name, int defaultValue);
1203bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1213bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1223bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Assigns an {@link Integer} to the parameter with the given name
1233bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1243bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name parameter name
1253bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param value parameter value
1263bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1273bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    HttpParams setIntParameter(String name, int value);
1283bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1293bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1303bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Returns a {@link Double} parameter value with the given name.
1313bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * If the parameter is not explicitly set, the default value is returned.
1323bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1333bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name the parent name.
1343bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param defaultValue the default value.
1353bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1363bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @return a {@link Double} that represents the value of the parameter.
1373bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1383bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @see #setDoubleParameter(String, double)
1393bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1403bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    double getDoubleParameter(String name, double defaultValue);
1413bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1423bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1433bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Assigns a {@link Double} to the parameter with the given name
1443bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1453bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name parameter name
1463bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param value parameter value
1473bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1483bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    HttpParams setDoubleParameter(String name, double value);
1493bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1503bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1513bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Returns a {@link Boolean} parameter value with the given name.
1523bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * If the parameter is not explicitly set, the default value is returned.
1533bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1543bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name the parent name.
1553bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param defaultValue the default value.
1563bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1573bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @return a {@link Boolean} that represents the value of the parameter.
1583bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1593bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @see #setBooleanParameter(String, boolean)
1603bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1613bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    boolean getBooleanParameter(String name, boolean defaultValue);
1623bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1633bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1643bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Assigns a {@link Boolean} to the parameter with the given name
1653bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1663bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name parameter name
1673bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param value parameter value
1683bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1693bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    HttpParams setBooleanParameter(String name, boolean value);
1703bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1713bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1723bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Checks if a boolean parameter is set to <code>true</code>.
1733bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1743bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name parameter name
1753bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1763bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @return <tt>true</tt> if the parameter is set to value <tt>true</tt>,
1773bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *         <tt>false</tt> if it is not set or set to <code>false</code>
1783bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1793bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    boolean isParameterTrue(String name);
1803bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1813bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    /**
1823bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * Checks if a boolean parameter is not set or <code>false</code>.
1833bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1843bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @param name parameter name
1853bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *
1863bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     * @return <tt>true</tt> if the parameter is either not set or
1873bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *         set to value <tt>false</tt>,
1883bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     *         <tt>false</tt> if it is set to <code>true</code>
1893bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath     */
1903bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath    boolean isParameterFalse(String name);
1913bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath
1923bdd327f8532a79b83f575cc62e8eb09a1f93f3dNarayan Kamath}
193