001: /*
002: * Copyright 1995-2006 Sun Microsystems, Inc. All Rights Reserved.
003: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004: *
005: * This code is free software; you can redistribute it and/or modify it
006: * under the terms of the GNU General Public License version 2 only, as
007: * published by the Free Software Foundation. Sun designates this
008: * particular file as subject to the "Classpath" exception as provided
009: * by Sun in the LICENSE file that accompanied this code.
010: *
011: * This code is distributed in the hope that it will be useful, but WITHOUT
012: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014: * version 2 for more details (a copy is included in the LICENSE file that
015: * accompanied this code).
016: *
017: * You should have received a copy of the GNU General Public License version
018: * 2 along with this work; if not, write to the Free Software Foundation,
019: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022: * CA 95054 USA or visit www.sun.com if you need additional information or
023: * have any questions.
024: */
025: package java.applet;
026:
027: import java.net.URL;
028:
029: /**
030: * When an applet is first created, an applet stub is attached to it
031: * using the applet's <code>setStub</code> method. This stub
032: * serves as the interface between the applet and the browser
033: * environment or applet viewer environment in which the application
034: * is running.
035: *
036: * @author Arthur van Hoff
037: * @version 1.33, 05/05/07
038: * @see java.applet.Applet#setStub(java.applet.AppletStub)
039: * @since JDK1.0
040: */
041: public interface AppletStub {
042: /**
043: * Determines if the applet is active. An applet is active just
044: * before its <code>start</code> method is called. It becomes
045: * inactive just before its <code>stop</code> method is called.
046: *
047: * @return <code>true</code> if the applet is active;
048: * <code>false</code> otherwise.
049: */
050: boolean isActive();
051:
052: /**
053: * Gets the URL of the document in which the applet is embedded.
054: * For example, suppose an applet is contained
055: * within the document:
056: * <blockquote><pre>
057: * http://java.sun.com/products/jdk/1.2/index.html
058: * </pre></blockquote>
059: * The document base is:
060: * <blockquote><pre>
061: * http://java.sun.com/products/jdk/1.2/index.html
062: * </pre></blockquote>
063: *
064: * @return the {@link java.net.URL} of the document that contains the
065: * applet.
066: * @see java.applet.AppletStub#getCodeBase()
067: */
068: URL getDocumentBase();
069:
070: /**
071: * Gets the base URL. This is the URL of the directory which contains the applet.
072: *
073: * @return the base {@link java.net.URL} of
074: * the directory which contains the applet.
075: * @see java.applet.AppletStub#getDocumentBase()
076: */
077: URL getCodeBase();
078:
079: /**
080: * Returns the value of the named parameter in the HTML tag. For
081: * example, if an applet is specified as
082: * <blockquote><pre>
083: * <applet code="Clock" width=50 height=50>
084: * <param name=Color value="blue">
085: * </applet>
086: * </pre></blockquote>
087: * <p>
088: * then a call to <code>getParameter("Color")</code> returns the
089: * value <code>"blue"</code>.
090: *
091: * @param name a parameter name.
092: * @return the value of the named parameter,
093: * or <tt>null</tt> if not set.
094: */
095: String getParameter(String name);
096:
097: /**
098: * Returns the applet's context.
099: *
100: * @return the applet's context.
101: */
102: AppletContext getAppletContext();
103:
104: /**
105: * Called when the applet wants to be resized.
106: *
107: * @param width the new requested width for the applet.
108: * @param height the new requested height for the applet.
109: */
110: void appletResize(int width, int height);
111: }
|