< prev index next >

src/java.base/share/classes/java/net/ContentHandler.java

Print this page

        

*** 42,59 **** * 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 found, URLConnection will ! * look for a content handler in a user-defineable set of places. * Users can define a vertical-bar delimited set of class prefixes ! * to search through by defining the <i>java.content.handler.pkgs</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 --- 42,59 ---- * 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>{@value 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
*** 80,89 **** --- 80,90 ---- * @see java.net.URLConnection#getContent() * @see java.net.URLConnection#setContentHandlerFactory(java.net.ContentHandlerFactory) * @since 1.0 */ abstract public 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. *
*** 102,124 **** * 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. ! * 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 (int i = 0; i < classes.length; i++) { ! if (classes[i].isInstance(obj)) { return obj; } } return null; } - } --- 103,124 ---- * 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; } }
< prev index next >