|
From: <ls...@us...> - 2007-09-06 19:09:13
|
Revision: 3464
http://jnode.svn.sourceforge.net/jnode/?rev=3464&view=rev
Author: lsantha
Date: 2007-09-06 12:09:11 -0700 (Thu, 06 Sep 2007)
Log Message:
-----------
openjdk integration
Added Paths:
-----------
trunk/core/src/openjdk/java/java/applet/
trunk/core/src/openjdk/java/java/applet/Applet.java
trunk/core/src/openjdk/java/java/applet/AppletContext.java
trunk/core/src/openjdk/java/java/applet/AppletStub.java
trunk/core/src/openjdk/java/java/applet/AudioClip.java
trunk/core/src/openjdk/java/java/applet/package.html
trunk/core/src/openjdk/java/java/io/EOFException.java
trunk/core/src/openjdk/java/java/io/Externalizable.java
trunk/core/src/openjdk/java/java/io/FilenameFilter.java
trunk/core/src/openjdk/java/java/io/StreamTokenizer.java
trunk/core/src/openjdk/java/java/io/UTFDataFormatException.java
trunk/core/src/openjdk/java/java/lang/Number.java
trunk/core/src/openjdk/java/java/lang/Object.java.stop
trunk/core/src/openjdk/java/java/lang/Process.java
trunk/core/src/openjdk/java/java/lang/ThreadDeath.java
trunk/core/src/openjdk/java/java/net/BindException.java
trunk/core/src/openjdk/java/java/net/ConnectException.java
trunk/core/src/openjdk/java/java/net/ContentHandlerFactory.java
trunk/core/src/openjdk/java/java/net/DatagramSocketImplFactory.java
trunk/core/src/openjdk/java/java/net/FileNameMap.java
trunk/core/src/openjdk/java/java/net/MalformedURLException.java
trunk/core/src/openjdk/java/java/net/NoRouteToHostException.java
trunk/core/src/openjdk/java/java/net/PortUnreachableException.java
trunk/core/src/openjdk/java/java/net/ProtocolException.java
trunk/core/src/openjdk/java/java/net/SocketException.java
trunk/core/src/openjdk/java/java/net/SocketImplFactory.java
trunk/core/src/openjdk/java/java/net/SocketOptions.java
trunk/core/src/openjdk/java/java/net/SocketTimeoutException.java
trunk/core/src/openjdk/java/java/net/URISyntaxException.java
trunk/core/src/openjdk/java/java/net/URLStreamHandlerFactory.java
trunk/core/src/openjdk/java/java/net/UnknownHostException.java
trunk/core/src/openjdk/java/java/net/UnknownServiceException.java
trunk/core/src/openjdk/java/java/net/package.html
trunk/core/src/openjdk/java/java/security/AccessControlException.java
trunk/core/src/openjdk/java/java/security/AlgorithmParameterGeneratorSpi.java
trunk/core/src/openjdk/java/java/security/AlgorithmParametersSpi.java
trunk/core/src/openjdk/java/java/security/Certificate.java
trunk/core/src/openjdk/java/java/security/DigestException.java
trunk/core/src/openjdk/java/java/security/DomainCombiner.java
trunk/core/src/openjdk/java/java/security/GeneralSecurityException.java
trunk/core/src/openjdk/java/java/security/Guard.java
trunk/core/src/openjdk/java/java/security/InvalidAlgorithmParameterException.java
trunk/core/src/openjdk/java/java/security/InvalidKeyException.java
trunk/core/src/openjdk/java/java/security/InvalidParameterException.java
trunk/core/src/openjdk/java/java/security/Key.java
trunk/core/src/openjdk/java/java/security/KeyException.java
trunk/core/src/openjdk/java/java/security/KeyFactorySpi.java
trunk/core/src/openjdk/java/java/security/KeyManagementException.java
trunk/core/src/openjdk/java/java/security/KeyPair.java
trunk/core/src/openjdk/java/java/security/KeyPairGenerator.java
trunk/core/src/openjdk/java/java/security/KeyPairGeneratorSpi.java
trunk/core/src/openjdk/java/java/security/KeyStoreException.java
trunk/core/src/openjdk/java/java/security/NoSuchAlgorithmException.java
trunk/core/src/openjdk/java/java/security/NoSuchProviderException.java
trunk/core/src/openjdk/java/java/security/Principal.java
trunk/core/src/openjdk/java/java/security/PrivateKey.java
trunk/core/src/openjdk/java/java/security/PrivilegedAction.java
trunk/core/src/openjdk/java/java/security/PrivilegedActionException.java
trunk/core/src/openjdk/java/java/security/PrivilegedExceptionAction.java
trunk/core/src/openjdk/java/java/security/ProviderException.java
trunk/core/src/openjdk/java/java/security/PublicKey.java
trunk/core/src/openjdk/java/java/security/SecureRandomSpi.java
trunk/core/src/openjdk/java/java/security/SignatureException.java
trunk/core/src/openjdk/java/java/text/Annotation.java
trunk/core/src/openjdk/java/java/text/AttributedCharacterIterator.java
trunk/core/src/openjdk/java/java/text/AttributedString.java
trunk/core/src/openjdk/java/java/text/CharacterIterator.java
trunk/core/src/openjdk/java/java/text/Format.java
trunk/core/src/openjdk/java/java/text/MessageFormat.java
trunk/core/src/openjdk/java/java/text/ParseException.java
trunk/core/src/openjdk/java/java/text/ParsePosition.java
trunk/core/src/openjdk/java/java/text/StringCharacterIterator.java
trunk/core/src/openjdk/vm/java/lang/NativeObject.java
Added: trunk/core/src/openjdk/java/java/applet/Applet.java
===================================================================
--- trunk/core/src/openjdk/java/java/applet/Applet.java (rev 0)
+++ trunk/core/src/openjdk/java/java/applet/Applet.java 2007-09-06 19:09:11 UTC (rev 3464)
@@ -0,0 +1,579 @@
+/*
+ * Copyright 1995-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+package java.applet;
+
+import java.awt.*;
+import java.awt.image.ColorModel;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.net.URL;
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Locale;
+import javax.accessibility.*;
+
+/**
+ * An applet is a small program that is intended not to be run on
+ * its own, but rather to be embedded inside another application.
+ * <p>
+ * The <code>Applet</code> class must be the superclass of any
+ * applet that is to be embedded in a Web page or viewed by the Java
+ * Applet Viewer. The <code>Applet</code> class provides a standard
+ * interface between applets and their environment.
+ *
+ * @author Arthur van Hoff
+ * @author Chris Warth
+ * @version 1.89, 05/05/07
+ * @since JDK1.0
+ */
+public class Applet extends Panel {
+
+ /**
+ * Constructs a new Applet.
+ * <p>
+ * Note: Many methods in <code>java.applet.Applet</code>
+ * may be invoked by the applet only after the applet is
+ * fully constructed; applet should avoid calling methods
+ * in <code>java.applet.Applet</code> in the constructor.
+ *
+ * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+ * returns true.
+ * @see java.awt.GraphicsEnvironment#isHeadless
+ * @since 1.4
+ */
+ public Applet() throws HeadlessException {
+ if (GraphicsEnvironment.isHeadless()) {
+ throw new HeadlessException();
+ }
+ }
+
+ /**
+ * Applets can be serialized but the following conventions MUST be followed:
+ *
+ * Before Serialization:
+ * An applet must be in STOPPED state.
+ *
+ * After Deserialization:
+ * The applet will be restored in STOPPED state (and most clients will
+ * likely move it into RUNNING state).
+ * The stub field will be restored by the reader.
+ */
+ transient private AppletStub stub;
+
+ /* version ID for serialized form. */
+ private static final long serialVersionUID = -5836846270535785031L;
+
+ /**
+ * Read an applet from an object input stream.
+ * @exception HeadlessException if
+ * <code>GraphicsEnvironment.isHeadless()</code> returns
+ * <code>true</code>
+ * @serial
+ * @see java.awt.GraphicsEnvironment#isHeadless
+ * @since 1.4
+ */
+ private void readObject(ObjectInputStream s)
+ throws ClassNotFoundException, IOException, HeadlessException {
+ if (GraphicsEnvironment.isHeadless()) {
+ throw new HeadlessException();
+ }
+ s.defaultReadObject();
+ }
+
+ /**
+ * Sets this applet's stub. This is done automatically by the system.
+ * <p>If there is a security manager, its <code> checkPermission </code>
+ * method is called with the
+ * <code>AWTPermission("setAppletStub")</code>
+ * permission if a stub has already been set.
+ * @param stub the new stub.
+ * @exception SecurityException if the caller cannot set the stub
+ */
+ public final void setStub(AppletStub stub) {
+ if (this.stub != null) {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null) {
+ s.checkPermission(new AWTPermission("setAppletStub"));
+ }
+ }
+ this.stub = (AppletStub)stub;
+ }
+
+ /**
+ * Determines if this applet is active. An applet is marked active
+ * just before its <code>start</code> method is called. It becomes
+ * inactive just before its <code>stop</code> method is called.
+ *
+ * @return <code>true</code> if the applet is active;
+ * <code>false</code> otherwise.
+ * @see java.applet.Applet#start()
+ * @see java.applet.Applet#stop()
+ */
+ public boolean isActive() {
+ if (stub != null) {
+ return stub.isActive();
+ } else { // If stub field not filled in, applet never active
+ return false;
+ }
+ }
+
+ /**
+ * Gets the URL of the document in which this applet is embedded.
+ * For example, suppose an applet is contained
+ * within the document:
+ * <blockquote><pre>
+ * http://java.sun.com/products/jdk/1.2/index.html
+ * </pre></blockquote>
+ * The document base is:
+ * <blockquote><pre>
+ * http://java.sun.com/products/jdk/1.2/index.html
+ * </pre></blockquote>
+ *
+ * @return the {@link java.net.URL} of the document that contains this
+ * applet.
+ * @see java.applet.Applet#getCodeBase()
+ */
+ public URL getDocumentBase() {
+ return stub.getDocumentBase();
+ }
+
+ /**
+ * Gets the base URL. This is the URL of the directory which contains this applet.
+ *
+ * @return the base {@link java.net.URL} of
+ * the directory which contains this applet.
+ * @see java.applet.Applet#getDocumentBase()
+ */
+ public URL getCodeBase() {
+ return stub.getCodeBase();
+ }
+
+ /**
+ * Returns the value of the named parameter in the HTML tag. For
+ * example, if this applet is specified as
+ * <blockquote><pre>
+ * <applet code="Clock" width=50 height=50>
+ * <param name=Color value="blue">
+ * </applet>
+ * </pre></blockquote>
+ * <p>
+ * then a call to <code>getParameter("Color")</code> returns the
+ * value <code>"blue"</code>.
+ * <p>
+ * The <code>name</code> argument is case insensitive.
+ *
+ * @param name a parameter name.
+ * @return the value of the named parameter,
+ * or <code>null</code> if not set.
+ */
+ public String getParameter(String name) {
+ return stub.getParameter(name);
+ }
+
+ /**
+ * Determines this applet's context, which allows the applet to
+ * query and affect the environment in which it runs.
+ * <p>
+ * This environment of an applet represents the document that
+ * contains the applet.
+ *
+ * @return the applet's context.
+ */
+ public AppletContext getAppletContext() {
+ return stub.getAppletContext();
+ }
+
+ /**
+ * Requests that this applet be resized.
+ *
+ * @param width the new requested width for the applet.
+ * @param height the new requested height for the applet.
+ */
+ public void resize(int width, int height) {
+ Dimension d = size();
+ if ((d.width != width) || (d.height != height)) {
+ super.resize(width, height);
+ if (stub != null) {
+ stub.appletResize(width, height);
+ }
+ }
+ }
+
+ /**
+ * Requests that this applet be resized.
+ *
+ * @param d an object giving the new width and height.
+ */
+ public void resize(Dimension d) {
+ resize(d.width, d.height);
+ }
+
+ /**
+ * 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 msg a string to display in the status window.
+ */
+ public void showStatus(String msg) {
+ getAppletContext().showStatus(msg);
+ }
+
+ /**
+ * Returns an <code>Image</code> object that can then be painted on
+ * the screen. The <code>url</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 this 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
+ */
+ public Image getImage(URL url) {
+ return getAppletContext().getImage(url);
+ }
+
+ /**
+ * Returns an <code>Image</code> object that can then be painted on
+ * the screen. The <code>url</code> argument must specify an absolute
+ * URL. The <code>name</code> argument is a specifier that is
+ * relative to the <code>url</code> argument.
+ * <p>
+ * This method always returns immediately, whether or not the image
+ * exists. When this 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 base location of the image.
+ * @param name the location of the image, relative to the
+ * <code>url</code> argument.
+ * @return the image at the specified URL.
+ * @see java.awt.Image
+ */
+ public Image getImage(URL url, String name) {
+ try {
+ return getImage(new URL(url, name));
+ } catch (MalformedURLException e) {
+ return null;
+ }
+ }
+
+ /**
+ * Get an audio clip from the given URL.
+ *
+ * @param url points to the audio clip
+ * @return the audio clip at the specified URL.
+ *
+ * @since 1.2
+ */
+ public final static AudioClip newAudioClip(URL url) {
+ return new sun.applet.AppletAudioClip(url);
+ }
+
+ /**
+ * Returns the <code>AudioClip</code> object specified by the
+ * <code>URL</code> argument.
+ * <p>
+ * This method always returns immediately, whether or not the audio
+ * clip exists. When this applet attempts to play the audio clip, the
+ * data will be loaded.
+ *
+ * @param url an absolute URL giving the location of the audio clip.
+ * @return the audio clip at the specified URL.
+ * @see java.applet.AudioClip
+ */
+ public AudioClip getAudioClip(URL url) {
+ return getAppletContext().getAudioClip(url);
+ }
+
+ /**
+ * Returns the <code>AudioClip</code> object specified by the
+ * <code>URL</code> and <code>name</code> arguments.
+ * <p>
+ * This method always returns immediately, whether or not the audio
+ * clip exists. When this applet attempts to play the audio clip, the
+ * data will be loaded.
+ *
+ * @param url an absolute URL giving the base location of the
+ * audio clip.
+ * @param name the location of the audio clip, relative to the
+ * <code>url</code> argument.
+ * @return the audio clip at the specified URL.
+ * @see java.applet.AudioClip
+ */
+ public AudioClip getAudioClip(URL url, String name) {
+ try {
+ return getAudioClip(new URL(url, name));
+ } catch (MalformedURLException e) {
+ return null;
+ }
+ }
+
+ /**
+ * Returns information about this applet. An applet should override
+ * this method to return a <code>String</code> containing information
+ * about the author, version, and copyright of the applet.
+ * <p>
+ * The implementation of this method provided by the
+ * <code>Applet</code> class returns <code>null</code>.
+ *
+ * @return a string containing information about the author, version, and
+ * copyright of the applet.
+ */
+ public String getAppletInfo() {
+ return null;
+ }
+
+ /**
+ * Gets the locale of the applet. It allows the applet
+ * to maintain its own locale separated from the locale
+ * of the browser or appletviewer.
+ *
+ * @return the locale of the applet; if no locale has
+ * been set, the default locale is returned.
+ * @since JDK1.1
+ */
+ public Locale getLocale() {
+ Locale locale = super.getLocale();
+ if (locale == null) {
+ return Locale.getDefault();
+ }
+ return locale;
+ }
+
+ /**
+ * Returns information about the parameters that are understood by
+ * this applet. An applet should override this method to return an
+ * array of <code>Strings</code> describing these parameters.
+ * <p>
+ * Each element of the array should be a set of three
+ * <code>Strings</code> containing the name, the type, and a
+ * description. For example:
+ * <p><blockquote><pre>
+ * String pinfo[][] = {
+ * {"fps", "1-10", "frames per second"},
+ * {"repeat", "boolean", "repeat image loop"},
+ * {"imgs", "url", "images directory"}
+ * };
+ * </pre></blockquote>
+ * <p>
+ * The implementation of this method provided by the
+ * <code>Applet</code> class returns <code>null</code>.
+ *
+ * @return an array describing the parameters this applet looks for.
+ */
+ public String[][] getParameterInfo() {
+ return null;
+ }
+
+ /**
+ * Plays the audio clip at the specified absolute URL. Nothing
+ * happens if the audio clip cannot be found.
+ *
+ * @param url an absolute URL giving the location of the audio clip.
+ */
+ public void play(URL url) {
+ AudioClip clip = getAudioClip(url);
+ if (clip != null) {
+ clip.play();
+ }
+ }
+
+ /**
+ * Plays the audio clip given the URL and a specifier that is
+ * relative to it. Nothing happens if the audio clip cannot be found.
+ *
+ * @param url an absolute URL giving the base location of the
+ * audio clip.
+ * @param name the location of the audio clip, relative to the
+ * <code>url</code> argument.
+ */
+ public void play(URL url, String name) {
+ AudioClip clip = getAudioClip(url, name);
+ if (clip != null) {
+ clip.play();
+ }
+ }
+
+ /**
+ * Called by the browser or applet viewer to inform
+ * this applet that it has been loaded into the system. It is always
+ * called before the first time that the <code>start</code> method is
+ * called.
+ * <p>
+ * A subclass of <code>Applet</code> should override this method if
+ * it has initialization to perform. For example, an applet with
+ * threads would use the <code>init</code> method to create the
+ * threads and the <code>destroy</code> method to kill them.
+ * <p>
+ * The implementation of this method provided by the
+ * <code>Applet</code> class does nothing.
+ *
+ * @see java.applet.Applet#destroy()
+ * @see java.applet.Applet#start()
+ * @see java.applet.Applet#stop()
+ */
+ public void init() {
+ }
+
+ /**
+ * Called by the browser or applet viewer to inform
+ * this applet that it should start its execution. It is called after
+ * the <code>init</code> method and each time the applet is revisited
+ * in a Web page.
+ * <p>
+ * A subclass of <code>Applet</code> should override this method if
+ * it has any operation that it wants to perform each time the Web
+ * page containing it is visited. For example, an applet with
+ * animation might want to use the <code>start</code> method to
+ * resume animation, and the <code>stop</code> method to suspend the
+ * animation.
+ * <p>
+ * Note: some methods, such as <code>getLocationOnScreen</code>, can only
+ * provide meaningful results if the applet is showing. Because
+ * <code>isShowing</code> returns <code>false</code> when the applet's
+ * <code>start</code> is first called, methods requiring
+ * <code>isShowing</code> to return <code>true</code> should be called from
+ * a <code>ComponentListener</code>.
+ * <p>
+ * The implementation of this method provided by the
+ * <code>Applet</code> class does nothing.
+ *
+ * @see java.applet.Applet#destroy()
+ * @see java.applet.Applet#init()
+ * @see java.applet.Applet#stop()
+ * @see java.awt.Component#isShowing()
+ * @see java.awt.event.ComponentListener#componentShown(java.awt.event.ComponentEvent)
+ */
+ public void start() {
+ }
+
+ /**
+ * Called by the browser or applet viewer to inform
+ * this applet that it should stop its execution. It is called when
+ * the Web page that contains this applet has been replaced by
+ * another page, and also just before the applet is to be destroyed.
+ * <p>
+ * A subclass of <code>Applet</code> should override this method if
+ * it has any operation that it wants to perform each time the Web
+ * page containing it is no longer visible. For example, an applet
+ * with animation might want to use the <code>start</code> method to
+ * resume animation, and the <code>stop</code> method to suspend the
+ * animation.
+ * <p>
+ * The implementation of this method provided by the
+ * <code>Applet</code> class does nothing.
+ *
+ * @see java.applet.Applet#destroy()
+ * @see java.applet.Applet#init()
+ */
+ public void stop() {
+ }
+
+ /**
+ * Called by the browser or applet viewer to inform
+ * this applet that it is being reclaimed and that it should destroy
+ * any resources that it has allocated. The <code>stop</code> method
+ * will always be called before <code>destroy</code>.
+ * <p>
+ * A subclass of <code>Applet</code> should override this method if
+ * it has any operation that it wants to perform before it is
+ * destroyed. For example, an applet with threads would use the
+ * <code>init</code> method to create the threads and the
+ * <code>destroy</code> method to kill them.
+ * <p>
+ * The implementation of this method provided by the
+ * <code>Applet</code> class does nothing.
+ *
+ * @see java.applet.Applet#init()
+ * @see java.applet.Applet#start()
+ * @see java.applet.Applet#stop()
+ */
+ public void destroy() {
+ }
+
+ //
+ // Accessibility support
+ //
+
+ AccessibleContext accessibleContext = null;
+
+ /**
+ * Gets the AccessibleContext associated with this Applet.
+ * For applets, the AccessibleContext takes the form of an
+ * AccessibleApplet.
+ * A new AccessibleApplet instance is created if necessary.
+ *
+ * @return an AccessibleApplet that serves as the
+ * AccessibleContext of this Applet
+ * @since 1.3
+ */
+ public AccessibleContext getAccessibleContext() {
+ if (accessibleContext == null) {
+ accessibleContext = new AccessibleApplet();
+ }
+ return accessibleContext;
+ }
+
+ /**
+ * This class implements accessibility support for the
+ * <code>Applet</code> class. It provides an implementation of the
+ * Java Accessibility API appropriate to applet user-interface elements.
+ * @since 1.3
+ */
+ protected class AccessibleApplet extends AccessibleAWTPanel {
+
+ private static final long serialVersionUID = 8127374778187708896L;
+
+ /**
+ * Get the role of this object.
+ *
+ * @return an instance of AccessibleRole describing the role of the
+ * object
+ */
+ public AccessibleRole getAccessibleRole() {
+ return AccessibleRole.FRAME;
+ }
+
+ /**
+ * Get the state of this object.
+ *
+ * @return an instance of AccessibleStateSet containing the current
+ * state set of the object
+ * @see AccessibleState
+ */
+ public AccessibleStateSet getAccessibleStateSet() {
+ AccessibleStateSet states = super.getAccessibleStateSet();
+ states.add(AccessibleState.ACTIVE);
+ return states;
+ }
+
+ }
+}
Added: trunk/core/src/openjdk/java/java/applet/AppletContext.java
===================================================================
--- trunk/core/src/openjdk/java/java/applet/AppletContext.java (rev 0)
+++ trunk/core/src/openjdk/java/java/applet/AppletContext.java 2007-09-06 19:09:11 UTC (rev 3464)
@@ -0,0 +1,195 @@
+/*
+ * Copyright 1995-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+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.41, 05/05/07
+ * @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();
+}
Added: trunk/core/src/openjdk/java/java/applet/AppletStub.java
===================================================================
--- trunk/core/src/openjdk/java/java/applet/AppletStub.java (rev 0)
+++ trunk/core/src/openjdk/java/java/applet/AppletStub.java 2007-09-06 19:09:11 UTC (rev 3464)
@@ -0,0 +1,112 @@
+/*
+ * Copyright 1995-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+package java.applet;
+
+import java.net.URL;
+
+/**
+ * When an applet is first created, an applet stub is attached to it
+ * using the applet's <code>setStub</code> method. This stub
+ * serves as the interface between the applet and the browser
+ * environment or applet viewer environment in which the application
+ * is running.
+ *
+ * @author Arthur van Hoff
+ * @version 1.33, 05/05/07
+ * @see java.applet.Applet#setStub(java.applet.AppletStub)
+ * @since JDK1.0
+ */
+public interface AppletStub {
+ /**
+ * Determines if the applet is active. An applet is active just
+ * before its <code>start</code> method is called. It becomes
+ * inactive just before its <code>stop</code> method is called.
+ *
+ * @return <code>true</code> if the applet is active;
+ * <code>false</code> otherwise.
+ */
+ boolean isActive();
+
+
+ /**
+ * Gets the URL of the document in which the applet is embedded.
+ * For example, suppose an applet is contained
+ * within the document:
+ * <blockquote><pre>
+ * http://java.sun.com/products/jdk/1.2/index.html
+ * </pre></blockquote>
+ * The document base is:
+ * <blockquote><pre>
+ * http://java.sun.com/products/jdk/1.2/index.html
+ * </pre></blockquote>
+ *
+ * @return the {@link java.net.URL} of the document that contains the
+ * applet.
+ * @see java.applet.AppletStub#getCodeBase()
+ */
+ URL getDocumentBase();
+
+ /**
+ * Gets the base URL. This is the URL of the directory which contains the applet.
+ *
+ * @return the base {@link java.net.URL} of
+ * the directory which contains the applet.
+ * @see java.applet.AppletStub#getDocumentBase()
+ */
+ URL getCodeBase();
+
+ /**
+ * Returns the value of the named parameter in the HTML tag. For
+ * example, if an applet is specified as
+ * <blockquote><pre>
+ * <applet code="Clock" width=50 height=50>
+ * <param name=Color value="blue">
+ * </applet>
+ * </pre></blockquote>
+ * <p>
+ * then a call to <code>getParameter("Color")</code> returns the
+ * value <code>"blue"</code>.
+ *
+ * @param name a parameter name.
+ * @return the value of the named parameter,
+ * or <tt>null</tt> if not set.
+ */
+ String getParameter(String name);
+
+ /**
+ * Returns the applet's context.
+ *
+ * @return the applet's context.
+ */
+ AppletContext getAppletContext();
+
+ /**
+ * Called when the applet wants to be resized.
+ *
+ * @param width the new requested width for the applet.
+ * @param height the new requested height for the applet.
+ */
+ void appletResize(int width, int height);
+}
Added: trunk/core/src/openjdk/java/java/applet/AudioClip.java
===================================================================
--- trunk/core/src/openjdk/java/java/applet/AudioClip.java (rev 0)
+++ trunk/core/src/openjdk/java/java/applet/AudioClip.java 2007-09-06 19:09:11 UTC (rev 3464)
@@ -0,0 +1,54 @@
+/*
+ * Copyright 1995-1997 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.applet;
+
+/**
+ * The <code>AudioClip</code> interface is a simple abstraction for
+ * playing a sound clip. Multiple <code>AudioClip</code> items can be
+ * playing at the same time, and the resulting sound is mixed
+ * together to produce a composite.
+ *
+ * @author Arthur van Hoff
+ * @version 1.25, 05/05/07
+ * @since JDK1.0
+ */
+public interface AudioClip {
+ /**
+ * Starts playing this audio clip. Each time this method is called,
+ * the clip is restarted from the beginning.
+ */
+ void play();
+
+ /**
+ * Starts playing this audio clip in a loop.
+ */
+ void loop();
+
+ /**
+ * Stops playing this audio clip.
+ */
+ void stop();
+}
Added: trunk/core/src/openjdk/java/java/applet/package.html
===================================================================
--- trunk/core/src/openjdk/java/java/applet/package.html (rev 0)
+++ trunk/core/src/openjdk/java/java/applet/package.html 2007-09-06 19:09:11 UTC (rev 3464)
@@ -0,0 +1,60 @@
+<!--
+ Copyright 1998-1999 Sun Microsystems, Inc. All Rights Reserved.
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ This code is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License version 2 only, as
+ published by the Free Software Foundation. Sun designates this
+ particular file as subject to the "Classpath" exception as provided
+ by Sun in the LICENSE file that accompanied this code.
+
+ This code is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ version 2 for more details (a copy is included in the LICENSE file that
+ accompanied this code).
+
+ You should have received a copy of the GNU General Public License version
+ 2 along with this work; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ CA 95054 USA or visit www.sun.com if you need additional information or
+ have any questions.
+-->
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<body bgcolor="white">
+
+Provides the classes necessary to create an applet and the classes an applet
+uses to communicate with its applet context.
+<p>
+The applet framework involves two
+entities: the <i>applet</i> and the <i>applet context</i>. An applet is an
+embeddable window (see the Panel class) with a few extra methods that the applet
+context can use to initialize, start, and stop the applet.
+<p>
+The applet context is an application that is responsible for loading and running
+applets. For example, the applet context could be a Web browser or an applet
+development environment.
+<p>
+<!--
+<h2>Package Specification</h2>
+
+##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
+<ul>
+ <li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
+</ul>
+
+<h2>Related Documentation</h2>
+
+For overviews, tutorials, examples, guides, and tool documentation, please see:
+<ul>
+ <li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
+</ul>
+-->
+
+@since JDK1.0
+</body>
+</html>
Added: trunk/core/src/openjdk/java/java/io/EOFException.java
===================================================================
--- trunk/core/src/openjdk/java/java/io/EOFException.java (rev 0)
+++ trunk/core/src/openjdk/java/java/io/EOFException.java 2007-09-06 19:09:11 UTC (rev 3464)
@@ -0,0 +1,64 @@
+/*
+ * Copyright 1995-2000 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.io;
+
+/**
+ * Signals that an end of file or end of stream has been reached
+ * unexpectedly during input.
+ * <p>
+ * This exception is mainly used by data input streams to signal end of
+ * stream. Note that many other input operations return a special value on
+ * end of stream rather than throwing an exception.
+ * <p>
+ *
+ * @author Frank Yellin
+ * @version 1.20, 05/05/07
+ * @see java.io.DataInputStream
+ * @see java.io.IOException
+ * @since JDK1.0
+ */
+public
+class EOFException extends IOException {
+ /**
+ * Constructs an <code>EOFException</code> with <code>null</code>
+ * as its error detail message.
+ */
+ public EOFException() {
+ super();
+ }
+
+ /**
+ * Constructs an <code>EOFException</code> with the specified detail
+ * message. The string <code>s</code> may later be retrieved by the
+ * <code>{@link java.lang.Throwable#getMessage}</code> method of class
+ * <code>java.lang.Throwable</code>.
+ *
+ * @param s the detail message.
+ */
+ public EOFException(String s) {
+ super(s);
+ }
+}
Added: trunk/core/src/openjdk/java/java/io/Externalizable.java
===================================================================
--- trunk/core/src/openjdk/java/java/io/Externalizable.java (rev 0)
+++ trunk/core/src/openjdk/java/java/io/Externalizable.java 2007-09-06 19:09:11 UTC (rev 3464)
@@ -0,0 +1,98 @@
+/*
+ * Copyright 1996-2004 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.io;
+
+import java.io.ObjectOutput;
+import java.io.ObjectInput;
+
+/**
+ * Only the identity of the class of an Externalizable instance is
+ * written in the serialization stream and it is the responsibility
+ * of the class to save and restore the contents of its instances.
+ *
+ * The writeExternal and readExternal methods of the Externalizable
+ * interface are implemented by a class to give the class complete
+ * control over the format and contents of the stream for an object
+ * and its supertypes. These methods must explicitly
+ * coordinate with the supertype to save its state. These methods supersede
+ * customized implementations of writeObject and readObject methods.<br>
+ *
+ * Object Serialization uses the Serializable and Externalizable
+ * interfaces. Object persistence mechanisms can use them as well. Each
+ * object to be stored is tested for the Externalizable interface. If
+ * the object supports Externalizable, the writeExternal method is called. If the
+ * object does not support Externalizable and does implement
+ * Serializable, the object is saved using
+ * ObjectOutputStream. <br> When an Externalizable object is
+ * reconstructed, an instance is created using the public no-arg
+ * constructor, then the readExternal method called. Serializable
+ * objects are restored by reading them from an ObjectInputStream.<br>
+ *
+ * An Externalizable instance can designate a substitution object via
+ * the writeReplace and readResolve methods documented in the Serializable
+ * interface.<br>
+ *
+ * @author unascribed
+ * @version 1.26, 05/05/07
+ * @see java.io.ObjectOutputStream
+ * @see java.io.ObjectInputStream
+ * @see java.io.ObjectOutput
+ * @see java.io.ObjectInput
+ * @see java.io.Serializable
+ * @since JDK1.1
+ */
+public interface Externalizable extends java.io.Serializable {
+ /**
+ * The object implements the writeExternal method to save its contents
+ * by calling the methods of DataOutput for its primitive values or
+ * calling the writeObject method of ObjectOutput for objects, strings,
+ * and arrays.
+ *
+ * @serialData Overriding methods should use this tag to describe
+ * the data layout of this Externalizable object.
+ * List the sequence of element types and, if possible,
+ * relate the element to a public/protected field and/or
+ * method of this Externalizable class.
+ *
+ * @param out the stream to write the object to
+ * @exception IOException Includes any I/O exceptions that may occur
+ */
+ void writeExternal(ObjectOutput out) throws IOException;
+
+ /**
+ * The object implements the readExternal method to restore its
+ * contents by calling the methods of DataInput for primitive
+ * types and readObject for objects, strings and arrays. The
+ * readExternal method must read the values in the same sequence
+ * and with the same types as were written by writeExternal.
+ *
+ * @param in the stream to read data from in order to restore the object
+ * @exception IOException if I/O errors occur
+ * @exception ClassNotFoundException If the class for an object being
+ * restored cannot be found.
+ */
+ void readExternal(ObjectInput in) throws IOException, ClassNotFoundException;
+}
Added: trunk/core/src/openjdk/java/java/io/FilenameFilter.java
===================================================================
--- trunk/core/src/openjdk/java/java/io/FilenameFilter.java (rev 0)
+++ trunk/core/src/openjdk/java/java/io/FilenameFilter.java 2007-09-06 19:09:11 UTC (rev 3464)
@@ -0,0 +1,54 @@
+/*
+ * Copyright 1994-1998 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.io;
+
+/**
+ * Instances of classes that implement this interface are used to
+ * filter filenames. These instances are used to filter directory
+ * listings in the <code>list</code> method of class
+ * <code>File</code>, and by the Abstract Window Toolkit's file
+ * dialog component.
+ *
+ * @author Arthur van Hoff
+ * @author Jonathan Payne
+ * @version 1.30, 05/05/07
+ * @see java.awt.FileDialog#setFilenameFilter(java.io.FilenameFilter)
+ * @see java.io.File
+ * @see java.io.File#list(java.io.FilenameFilter)
+ * @since JDK1.0
+ */
+public
+interface FilenameFilter {
+ /**
+ * Tests if a specified file should be included in a file list.
+ *
+ * @param dir the directory in which the file was found.
+ * @param name the name of the file.
+ * @return <code>true</code> if and only if the name should be
+ * included in the file list; <code>false</code> otherwise.
+ */
+ boolean accept(File dir, String name);
+}
Added: trunk/core/src/openjdk/java/java/io/StreamTokenizer.java
===================================================================
--- trunk/core/src/openjdk/java/java/io/StreamTokenizer.java (rev 0)
+++ trunk/core/src/openjdk/java/java/io/StreamTokenizer.java 2007-09-06 19:09:11 UTC (rev 3464)
@@ -0,0 +1,835 @@
+/*
+ * Copyright 1995-2005 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.io;
+
+import java.util.Arrays;
+
+/**
+ * The <code>StreamTokenizer</code> class takes an input stream and
+ * parses it into "tokens", allowing the tokens to be
+ * read one at a time. The parsing process is controlled by a table
+ * and a number of flags that can be set to various states. The
+ * stream tokenizer can recognize identifiers, numbers, quoted
+ * strings, and various comment styles.
+ * <p>
+ * Each byte read from the input stream is regarded as a character
+ * in the range <code>'\u0000'</code> through <code>'\u00FF'</code>.
+ * The character value is used to look up five possible attributes of
+ * the character: <i>white space</i>, <i>alphabetic</i>,
+ * <i>numeric</i>, <i>string quote</i>, and <i>comment character</i>.
+ * Each character can have zero or more of these attributes.
+ * <p>
+ * In addition, an instance has four flags. These flags indicate:
+ * <ul>
+ * <li>Whether line terminators are to be returned as tokens or treated
+ * as white space that merely separates tokens.
+ * <li>Whether C-style comments are to be recognized and skipped.
+ * <li>Whether C++-style comments are to be recognized and skipped.
+ * <li>Whether the characters of identifiers are converted to lowercase.
+ * </ul>
+ * <p>
+ * A typical application first constructs an instance of this class,
+ * sets up the syntax tables, and then repeatedly loops calling the
+ * <code>nextToken</code> method in each iteration of the loop until
+ * it returns the value <code>TT_EOF</code>.
+ *
+ * @author James Gosling
+ * @version 1.53, 05/05/07
+ * @see java.io.StreamTokenizer#nextToken()
+ * @see java.io.StreamTokenizer#TT_EOF
+ * @since JDK1.0
+ */
+
+public class StreamTokenizer {
+
+ /* Only one of these will be non-null */
+ private Reader reader = null;
+ private InputStream input = null;
+
+ private char buf[] = new char[20];
+
+ /**
+ * The next character to be considered by the nextToken method. May also
+ * be NEED_CHAR to indicate that a new character should be read, or SKIP_LF
+ * to indicate that a new character should be read and, if it is a '\n'
+ * character, it should be discarded and a second new character should be
+ * read.
+ */
+ private int peekc = NEED_CHAR;
+
+ private static final int NEED_CHAR = Integer.MAX_VALUE;
+ private static final int SKIP_LF = Integer.MAX_VALUE - 1;
+
+ private boolean pushedBack;
+ private boolean forceLower;
+ /** The line number of the last token read */
+ private int LINENO = 1;
+
+ private boolean eolIsSignificantP = false;
+ private boolean slashSlashCommentsP = false;
+ private boolean slashStarCommentsP = false;
+
+ private byte ctype[] = new byte[256];
+ private static final byte CT_WHITESPACE = 1;
+ private static final byte CT_DIGIT = 2;
+ private static final byte CT_ALPHA = 4;
+ private static final byte CT_QUOTE = 8;
+ private static final byte CT_COMMENT = 16;
+
+ /**
+ * After a call to the <code>nextToken</code> method, this field
+ * contains the type of the token just read. For a single character
+ * token, its value is the single character, converted to an integer.
+ * For a quoted string token, its value is the quote character.
+ * Otherwise, its value is one of the following:
+ * <ul>
+ * <li><code>TT_WORD</code> indicates that the token is a word.
+ * <li><code>TT_NUMBER</code> indicates that the token is a number.
+ * <li><code>TT_EOL</code> indicates that the end of line has been read.
+ * The field can only have this value if the
+ * <code>eolIsSignificant</code> method has been called with the
+ * argument <code>true</code>.
+ * <li><code>TT_EOF</code> indicates that the end of the input stream
+ * has been reached.
+ * </ul>
+ * <p>
+ * The initial value of this field is -4.
+ *
+ * @see java.io.StreamTokenizer#eolIsSignificant(boolean)
+ * @see java.io.StreamTokenizer#nextToken()
+ * @see java.io.StreamTokenizer#quoteChar(int)
+ * @see java.io.StreamTokenizer#TT_EOF
+ * @see java.io.StreamTokenizer#TT_EOL
+ * @see java.io.StreamTokenizer#TT_NUMBER
+ * @see java.io.StreamTokenizer#TT_WORD
+ */
+ public int ttype = TT_NOTHING;
+
+ /**
+ * A constant indicating that the end of the stream has been read.
+ */
+ public static final int TT_EOF = -1;
+
+ /**
+ * A constant indicating that the end of the line has been read.
+ */
+ public static final int TT_EOL = '\n';
+
+ /**
+ * A constant indicating that a number token has been read.
+ */
+ public static final int TT_NUMBER = -2;
+
+ /**
+ * A constant indicating that a word token has been read.
+ */
+ public static final int TT_WORD =...
[truncated message content] |