001: /*
002: * @(#)AppletStub.java 1.22 06/10/10
003: *
004: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: *
026: */
027: package java.applet;
028:
029: import java.net.URL;
030:
031: /**
032: * When an applet is first created, an applet stub is attached to it
033: * using the applet's <code>setStub</code> method. This stub
034: * serves as the interface between the applet and the browser
035: * environment or applet viewer environment in which the application
036: * is running.
037: *
038: * @author Arthur van Hoff
039: * @version 1.18, 08/19/02
040: * @see java.applet.Applet#setStub(java.applet.AppletStub)
041: * @since JDK1.0
042: */
043: public interface AppletStub {
044: /**
045: * Determines if the applet is active. An applet is active just
046: * before its <code>start</code> method is called. It becomes
047: * inactive just before its <code>stop</code> method is called.
048: *
049: * @return <code>true</code> if the applet is active;
050: * <code>false</code> otherwise.
051: */
052: boolean isActive();
053:
054: /**
055: * Returns an absolute URL naming the directory of the document in which
056: * the applet is embedded. For example, suppose an applet is contained
057: * within the document:
058: * <blockquote><pre>
059: * http://java.sun.com/products/jdk/1.2/index.html
060: * </pre></blockquote>
061: * The document base is:
062: * <blockquote><pre>
063: * http://java.sun.com/products/jdk/1.2/
064: * </pre></blockquote>
065: *
066: * @return the {@link java.net.URL} of the document that contains this
067: * applet.
068: * @see java.applet.AppletStub#getCodeBase()
069: */
070: URL getDocumentBase();
071:
072: /**
073: * Gets the base URL.
074: *
075: * @return the <code>URL</code> of the applet.
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: * Gets a handler to 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: }
|