/** Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.*********************/package java.net;import java.io.IOException;/*** The abstract class {@code ContentHandler} is the superclass* of all classes that read an {@code Object} from a* {@code URLConnection}.* <p>* An application does not generally call the* {@code getContent} method in this class directly. Instead, an* application calls the {@code getContent} method in class* {@code URL} or in {@code URLConnection}.* The application's content handler factory (an instance of a class that* implements the interface {@code ContentHandlerFactory} set up by a call to* {@link URLConnection#setContentHandlerFactory(ContentHandlerFactory)* setContentHandlerFactory} is called with a {@code String} giving the* MIME type of the object being received on the socket. The factory returns an* instance of a subclass of {@code ContentHandler}, and its* {@code getContent} method is called to create the object.* <p>* If no content handler could be {@linkplain URLConnection#getContent() found},* URLConnection will look for a content handler in a user-definable set of places.* Users can define a vertical-bar delimited set of class prefixes* to search through by defining the <i>{@link java.net.URLConnection#contentPathProp}</i>* property. The class name must be of the form:* <blockquote>* <i>{package-prefix}.{major}.{minor}</i>* <p>* where <i>{major}.{minor}</i> is formed by taking the* content-type string, replacing all slash characters with a* {@code period} ('.'), and all other non-alphanumeric characters* with the underscore character '{@code _}'. The alphanumeric* characters are specifically the 26 uppercase ASCII letters* '{@code A}' through '{@code Z}', the 26 lowercase ASCII* letters '{@code a}' through '{@code z}', and the 10 ASCII* digits '{@code 0}' through '{@code 9}'.* <p>* e.g.* YoyoDyne.experimental.text.plain* </blockquote>* If no user-defined content handler is found, then the system* tries to load a specific <i>content-type</i> handler from one* of the built-in handlers, if one exists.* <p>* If the loading of the content handler class would be performed by* a classloader that is outside of the delegation chain of the caller,* the JVM will need the RuntimePermission "getClassLoader".** @author James Gosling* @see java.net.ContentHandler#getContent(java.net.URLConnection)* @see java.net.ContentHandlerFactory* @see java.net.URL#getContent()* @see java.net.URLConnection* @see java.net.URLConnection#getContent()* @see java.net.URLConnection#setContentHandlerFactory(java.net.ContentHandlerFactory)* @since 1.0*/public abstract class ContentHandler {/*** Given a URL connect stream positioned at the beginning of the* representation of an object, this method reads that stream and* creates an object from it.** @param urlc a URL connection.* @return the object read by the {@code ContentHandler}.* @exception IOException if an I/O error occurs while reading the object.*/public abstract Object getContent(URLConnection urlc) throws IOException;/*** Given a URL connect stream positioned at the beginning of the* representation of an object, this method reads that stream and* creates an object that matches one of the types specified.** The default implementation of this method should call* {@link #getContent(URLConnection)}* and screen the return type for a match of the suggested types.** @param urlc a URL connection.* @param classes an array of types requested* @return the object read by the {@code ContentHandler} that is* the first match of the suggested types or* {@code null} if none of the requested are supported.* @exception IOException if an I/O error occurs while reading the object.* @since 1.3*/@SuppressWarnings("rawtypes")public Object getContent(URLConnection urlc, Class[] classes) throws IOException {Object obj = getContent(urlc);for (Class<?> c : classes) {if (c.isInstance(obj)) {return obj;}}return null;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。