urlconnectionstreamwrapper.java

来自「主要是对串口驱动的的一些控制源码!!! 在下载javacomm20-win32」· Java 代码 · 共 141 行

JAVA
141
字号
/**
 * $Log: URLConnectionStreamWrapper.java,v $
 * Revision 1.2  2003/02/03 13:03:02  mwulff
 * added method closeConnection()
 *
 * Revision 1.1  2003/01/16 13:12:40  mwulff
 * initial version
 *
 * Revision 1.4  2002/12/20 18:52:25  mwulff
 * no message
 *
 * Revision 1.3  2002/12/15 16:55:07  mwulff
 * adjusted to reorganisation of the client logging system
 *
 * Revision 1.2  2002/12/13 20:08:34  mwulff
 * no message
 *
 * Revision 1.1  2002/12/05 21:31:46  mwulff
 * initial version
 *
 */
package de.fhm.jkf.comm.cl;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URLConnection;

import de.fhm.jkf.comm.clsv.CompressionStreamWrapper;

/**
 * @author	marten wulff
 * 
 * * <br><br><center><table border="1" width="80%"><hr>
 * <strong><a href="http://jkf.sourceforge.net">The JKF Project</a></strong>
 * <p>
 * Copyright (C) 2002 by Marten Wulff
 * <p>
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * <p>
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * <p>
 * You should have received a copy of the <a href="http://www.gnu.org/copyleft/lesser.html">
 * GNU Lesser General Public License</a> along with this library; if not, write to
 * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 * MA  02111-1307  USA
 * <hr></table></center>
 */
class URLConnectionStreamWrapper implements CompressionStreamWrapper {

	private URLConnection con = null;

	/**
	 * Constructor for URLConnectionStreamWrapper.
	 */
	URLConnectionStreamWrapper(URLConnection con) {
		super();

		this.con = con;
		this.con.setDoInput(true);
		this.con.setDoOutput(true);

		// no caching
		this.con.setUseCaches(false);

		// Set the content type to be application/x-java-serialized-object
		this.con.setRequestProperty(
			"Content-Type",
			"application/x-java-serialized-object");

	}

	/**
	 * @see de.fhm.jkf.comm.clsv.StreamWrapper#getInputStream()
	 */
	public InputStream getInputStream() throws IOException {
		return con.getInputStream();
	}

	/**
	 * @see de.fhm.jkf.comm.clsv.StreamWrapper#getOutputStream()
	 */
	public OutputStream getOutputStream() throws IOException {
		return con.getOutputStream();
	}

	/**
	 * Sets the mode of this stream to compressed or not.
	 * 
	 * @param mode compressed if true, else uncompressed
	 * @see de.fhm.jkf.comm.clsv.CompressionStreamWrapper#setModeCompressed(boolean)
	 */
	public void setModeCompressed(boolean mode) {
		con.setRequestProperty(
			CompressionStreamWrapper.COMPRESS_ATTRIB,
			Boolean.toString(mode));
	}

	/**
	 * Indicates if this stream is compressed or not.
	 * 
	 * @return true if stream is compressed else false
	 */
	public boolean isModeCompressed() {
		return new Boolean(
			con.getHeaderField(CompressionStreamWrapper.COMPRESS_ATTRIB))
			.booleanValue();
	}

	/**
	 * Method for retrieving the id of the current session.
	 * 
	 * @return String the session id
	 */
	public String getSessionInfo() {
		return con.getHeaderField("Set-Cookie");
	}

	/**
	 * Method for setting the session id.
	 * 
	 * @param info the complete session id
	 */
	public void setSessionInfo(String info) {
		con.setRequestProperty("Cookie", info);
	}
	
	public void closeConnection() {
		if(con != null) {
			((HttpURLConnection)con).disconnect();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?