PageRenderTime 26ms CodeModel.GetById 18ms app.highlight 6ms RepoModel.GetById 0ms app.codeStats 0ms

/lib/src/org/apache/http/params/HttpConnectionParams.java

http://github.com/onedanshow/Screen-Courter
Java | 244 lines | 96 code | 19 blank | 129 comment | 28 complexity | 627e47483cd61174093d8c9a8def4f1a MD5 | raw file
Possible License(s): GPL-3.0
  1/*
  2 * ====================================================================
  3 * Licensed to the Apache Software Foundation (ASF) under one
  4 * or more contributor license agreements.  See the NOTICE file
  5 * distributed with this work for additional information
  6 * regarding copyright ownership.  The ASF licenses this file
  7 * to you under the Apache License, Version 2.0 (the
  8 * "License"); you may not use this file except in compliance
  9 * with the License.  You may obtain a copy of the License at
 10 *
 11 *   http://www.apache.org/licenses/LICENSE-2.0
 12 *
 13 * Unless required by applicable law or agreed to in writing,
 14 * software distributed under the License is distributed on an
 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 16 * KIND, either express or implied.  See the License for the
 17 * specific language governing permissions and limitations
 18 * under the License.
 19 * ====================================================================
 20 *
 21 * This software consists of voluntary contributions made by many
 22 * individuals on behalf of the Apache Software Foundation.  For more
 23 * information on the Apache Software Foundation, please see
 24 * <http://www.apache.org/>.
 25 *
 26 */
 27
 28package org.apache.http.params;
 29
 30/**
 31 * Utility class for accessing connection parameters in {@link HttpParams}.
 32 * 
 33 * @since 4.0
 34 */
 35public final class HttpConnectionParams implements CoreConnectionPNames {
 36
 37    private HttpConnectionParams() {
 38        super();
 39    }
 40
 41    /**
 42     * Obtains value of the {@link CoreConnectionPNames#SO_TIMEOUT} parameter.
 43     * If not set, defaults to <code>0</code>.
 44     *  
 45     * @param params HTTP parameters.
 46     * @return SO_TIMEOUT.
 47     */
 48    public static int getSoTimeout(final HttpParams params) {
 49        if (params == null) {
 50            throw new IllegalArgumentException("HTTP parameters may not be null");
 51        }
 52        return params.getIntParameter(CoreConnectionPNames.SO_TIMEOUT, 0);
 53    }
 54
 55    /**
 56     * Sets value of the {@link CoreConnectionPNames#SO_TIMEOUT} parameter. 
 57     *
 58     * @param params HTTP parameters.
 59     * @param timeout SO_TIMEOUT.
 60     */
 61    public static void setSoTimeout(final HttpParams params, int timeout) {
 62        if (params == null) {
 63            throw new IllegalArgumentException("HTTP parameters may not be null");
 64        }
 65        params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, timeout);
 66        
 67    }
 68
 69    /**
 70     * Obtains value of the {@link CoreConnectionPNames#SO_REUSEADDR} parameter.
 71     * If not set, defaults to <code>false</code>.
 72     *  
 73     * @param params HTTP parameters.
 74     * @return SO_REUSEADDR.
 75     * 
 76     * @since 4.1
 77     */
 78    public static boolean getSoReuseaddr(final HttpParams params) {
 79        if (params == null) {
 80            throw new IllegalArgumentException("HTTP parameters may not be null");
 81        }
 82        return params.getBooleanParameter(CoreConnectionPNames.SO_REUSEADDR, false);
 83    }
 84
 85    /**
 86     * Sets value of the {@link CoreConnectionPNames#SO_REUSEADDR} parameter. 
 87     *
 88     * @param params HTTP parameters.
 89     * @param reuseaddr SO_REUSEADDR.
 90     * 
 91     * @since 4.1
 92     */
 93    public static void setSoReuseaddr(final HttpParams params, boolean reuseaddr) {
 94        if (params == null) {
 95            throw new IllegalArgumentException("HTTP parameters may not be null");
 96        }
 97        params.setBooleanParameter(CoreConnectionPNames.SO_REUSEADDR, reuseaddr);
 98    }
 99
100    /**
101     * Obtains value of the {@link CoreConnectionPNames#TCP_NODELAY} parameter.
102     * If not set, defaults to <code>true</code>.
103     *  
104     * @param params HTTP parameters.
105     * @return Nagle's algorithm flag
106     */
107    public static boolean getTcpNoDelay(final HttpParams params) {
108        if (params == null) {
109            throw new IllegalArgumentException("HTTP parameters may not be null");
110        }
111        return params.getBooleanParameter
112            (CoreConnectionPNames.TCP_NODELAY, true);
113    }
114
115    /**
116     * Sets value of the {@link CoreConnectionPNames#TCP_NODELAY} parameter.
117     *  
118     * @param params HTTP parameters.
119     * @param value Nagle's algorithm flag
120     */
121    public static void setTcpNoDelay(final HttpParams params, boolean value) {
122        if (params == null) {
123            throw new IllegalArgumentException("HTTP parameters may not be null");
124        }
125        params.setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, value);
126    }
127
128    /**
129     * Obtains value of the {@link CoreConnectionPNames#SOCKET_BUFFER_SIZE} 
130     * parameter. If not set, defaults to <code>-1</code>.
131     *  
132     * @param params HTTP parameters.
133     * @return socket buffer size
134     */
135    public static int getSocketBufferSize(final HttpParams params) {
136        if (params == null) {
137            throw new IllegalArgumentException("HTTP parameters may not be null");
138        }
139        return params.getIntParameter
140            (CoreConnectionPNames.SOCKET_BUFFER_SIZE, -1);
141    }
142    
143    /**
144     * Sets value of the {@link CoreConnectionPNames#SOCKET_BUFFER_SIZE} 
145     * parameter. 
146     *  
147     * @param params HTTP parameters.
148     * @param size socket buffer size
149     */
150    public static void setSocketBufferSize(final HttpParams params, int size) {
151        if (params == null) {
152            throw new IllegalArgumentException("HTTP parameters may not be null");
153        }
154        params.setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, size);
155    }
156
157    /**
158     * Obtains value of the {@link CoreConnectionPNames#SO_LINGER} parameter. 
159     * If not set, defaults to <code>-1</code>.
160     *  
161     * @param params HTTP parameters.
162     * @return SO_LINGER.
163     */
164    public static int getLinger(final HttpParams params) {
165        if (params == null) {
166            throw new IllegalArgumentException("HTTP parameters may not be null");
167        }
168        return params.getIntParameter(CoreConnectionPNames.SO_LINGER, -1);
169    }
170
171    /**
172     * Sets value of the {@link CoreConnectionPNames#SO_LINGER} parameter. 
173     *  
174     * @param params HTTP parameters.
175     * @param value SO_LINGER.
176     */
177    public static void setLinger(final HttpParams params, int value) {
178        if (params == null) {
179            throw new IllegalArgumentException("HTTP parameters may not be null");
180        }
181        params.setIntParameter(CoreConnectionPNames.SO_LINGER, value);
182    }
183
184    /**
185     * Obtains value of the {@link CoreConnectionPNames#CONNECTION_TIMEOUT} 
186     * parameter. If not set, defaults to <code>0</code>.
187     *  
188     * @param params HTTP parameters.
189     * @return connect timeout.
190     */
191    public static int getConnectionTimeout(final HttpParams params) {
192        if (params == null) {
193            throw new IllegalArgumentException("HTTP parameters may not be null");
194        }
195        return params.getIntParameter
196            (CoreConnectionPNames.CONNECTION_TIMEOUT, 0);
197    }
198
199    /**
200     * Sets value of the {@link CoreConnectionPNames#CONNECTION_TIMEOUT} 
201     * parameter.
202     *  
203     * @param params HTTP parameters.
204     * @param timeout connect timeout.
205     */
206    public static void setConnectionTimeout(final HttpParams params, int timeout) {
207        if (params == null) {
208            throw new IllegalArgumentException("HTTP parameters may not be null");
209        }
210        params.setIntParameter
211            (CoreConnectionPNames.CONNECTION_TIMEOUT, timeout);
212    }
213    
214    /**
215     * Obtains value of the {@link CoreConnectionPNames#STALE_CONNECTION_CHECK} 
216     * parameter. If not set, defaults to <code>true</code>.
217     *  
218     * @param params HTTP parameters.
219     * @return stale connection check flag.
220     */
221    public static boolean isStaleCheckingEnabled(final HttpParams params) {
222        if (params == null) {
223            throw new IllegalArgumentException("HTTP parameters may not be null");
224        }
225        return params.getBooleanParameter
226            (CoreConnectionPNames.STALE_CONNECTION_CHECK, true);
227    }
228
229    /**
230     * Sets value of the {@link CoreConnectionPNames#STALE_CONNECTION_CHECK} 
231     * parameter. 
232     *  
233     * @param params HTTP parameters.
234     * @param value stale connection check flag.
235     */
236    public static void setStaleCheckingEnabled(final HttpParams params, boolean value) {
237        if (params == null) {
238            throw new IllegalArgumentException("HTTP parameters may not be null");
239        }
240        params.setBooleanParameter
241            (CoreConnectionPNames.STALE_CONNECTION_CHECK, value);
242    }
243    
244}