1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
/* * @(#)AppletContext.java 1.35 06/04/07 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.applet; import java.awt.Image; import java.awt.Graphics; import java.awt.image.ColorModel; import java.net.URL; import java.util.Enumeration; import java.io.InputStream; import java.io.IOException; import java.util.Iterator; /** * This interface corresponds to an applet's environment: the * document containing the applet and the other applets in the same * document. * <p> * The methods in this interface can be used by an applet to obtain * information about its environment. * * @author Arthur van Hoff * @version 1.35, 04/07/06 * @since JDK1.0 */ public interface AppletContext { /** * Creates an audio clip. * * @param url an absolute URL giving the location of the audio clip. * @return the audio clip at the specified URL. */ AudioClip getAudioClip(URL url); /** * Returns an <code>Image</code> object that can then be painted on * the screen. The <code>url</code> argument<code> </code>that is * passed as an argument must specify an absolute URL. * <p> * This method always returns immediately, whether or not the image * exists. When the applet attempts to draw the image on the screen, * the data will be loaded. The graphics primitives that draw the * image will incrementally paint on the screen. * * @param url an absolute URL giving the location of the image. * @return the image at the specified URL. * @see java.awt.Image */ Image getImage(URL url); /** * Finds and returns the applet in the document represented by this * applet context with the given name. The name can be set in the * HTML tag by setting the <code>name</code> attribute. * * @param name an applet name. * @return the applet with the given name, or <code>null</code> if * not found. */ Applet getApplet(String name); /** * Finds all the applets in the document represented by this applet * context. * * @return an enumeration of all applets in the document represented by * this applet context. */ Enumeration<Applet> getApplets(); /** * Requests that the browser or applet viewer show the Web page * indicated by the <code>url</code> argument. The browser or * applet viewer determines which window or frame to display the * Web page. This method may be ignored by applet contexts that * are not browsers. * * @param url an absolute URL giving the location of the document. */ void showDocument(URL url); /** * Requests that the browser or applet viewer show the Web page * indicated by the <code>url</code> argument. The * <code>target</code> argument indicates in which HTML frame the * document is to be displayed. * The target argument is interpreted as follows: * <p> * <center><table border="3" summary="Target arguments and their descriptions"> * <tr><th>Target Argument</th><th>Description</th></tr> * <tr><td><code>"_self"</code> <td>Show in the window and frame that * contain the applet.</tr> * <tr><td><code>"_parent"</code><td>Show in the applet's parent frame. If * the applet's frame has no parent frame, * acts the same as "_self".</tr> * <tr><td><code>"_top"</code> <td>Show in the top-level frame of the applet's * window. If the applet's frame is the * top-level frame, acts the same as "_self".</tr> * <tr><td><code>"_blank"</code> <td>Show in a new, unnamed * top-level window.</tr> * <tr><td><i>name</i><td>Show in the frame or window named <i>name</i>. If * a target named <i>name</i> does not already exist, a * new top-level window with the specified name is created, * and the document is shown there.</tr> * </table> </center> * <p> * An applet viewer or browser is free to ignore <code>showDocument</code>. * * @param url an absolute URL giving the location of the document. * @param target a <code>String</code> indicating where to display * the page. */ public void showDocument(URL url, String target); /** * Requests that the argument string be displayed in the * "status window". Many browsers and applet viewers * provide such a window, where the application can inform users of * its current state. * * @param status a string to display in the status window. */ void showStatus(String status); /** * Associates the specified stream with the specified key in this * applet context. If the applet context previously contained a mapping * for this key, the old value is replaced. * <p> * For security reasons, mapping of streams and keys exists for each * codebase. In other words, applet from one codebase cannot access * the streams created by an applet from a different codebase * <p> * @param key key with which the specified value is to be associated. * @param stream stream to be associated with the specified key. If this * parameter is <code>null</code>, the specified key is removed * in this applet context. * @throws <code>IOException</code> if the stream size exceeds a certain * size limit. Size limit is decided by the implementor of this * interface. * @since 1.4 */ public void setStream(String key, InputStream stream)throws IOException; /** * Returns the stream to which specified key is associated within this * applet context. Returns <tt>null</tt> if the applet context contains * no stream for this key. * <p> * For security reasons, mapping of streams and keys exists for each * codebase. In other words, applet from one codebase cannot access * the streams created by an applet from a different codebase * <p> * @return the stream to which this applet context maps the key * @param key key whose associated stream is to be returned. * @since 1.4 */ public InputStream getStream(String key); /** * Finds all the keys of the streams in this applet context. * <p> * For security reasons, mapping of streams and keys exists for each * codebase. In other words, applet from one codebase cannot access * the streams created by an applet from a different codebase * <p> * @return an Iterator of all the names of the streams in this applet * context. * @since 1.4 */ public Iterator<String> getStreamKeys(); }