⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 agletcontext.java

📁 aglet的部分源码
💻 JAVA
字号:
package com.ibm.aglet;/* * @(#)AgletContext.java *  * (c) Copyright IBM Corp. 1996, 1997, 1998 *  * IBM grants you a non-exclusive, non-transferrable License to * use this program internally solely for the purposes of testing * and evaluating Java Aglet API. * You may not distribute, sublicense, lease, rent or use this * sample program externally. *  * THIS ROGRAM IS PROVIDED "AS IS" WITHOUT ANY WARRANTY EXPRESS OR * IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE WARRANTY OF * NON-INFRINGEMENT AND THE WARRANTIES OF MERCHANTIBILITY AND * FITNESS FOR A PARTICULAR PURPOSE. * IBM WILL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY YOU AS * A RESULT OF USING THIS SAMPLE PROGRAM. IN NO EVENT WILL IBM BE * LIABLE FOR ANY SPECIAL, INDIRECT CONSEQUENTIAL DAMAGES OR LOST * PROFITS EVEN IF IBM HAS BEEN ADVISED OF THE POSSIBILITY OF THEIR * OCCURRENCE OR LOSS OF OR DAMAGE TO YOUR RECORDS OR DATA. * IBM WILL NOT BE LIABLE FOR ANY THIRD PARTY CLAIMS AGAINST YOU. */import com.ibm.aglet.system.ContextEvent;import com.ibm.aglet.system.ContextListener;import com.ibm.aglet.util.ImageData;import java.util.Properties;import java.util.Enumeration;import java.io.IOException;import java.net.URL;import java.awt.Image;import java.applet.AudioClip;/** * The <tt>AgletContext</tt> interface is used by an aglet to get information * about its environment and to send messages to the environment and other * aglets currently active in that environment. It provides means for * maintaining and managing running aglets in an environment where the host * system is secured against malicious aglets. *  * @version     1.50	$Date: 2001/07/28 06:34:04 $ * @author      Danny B. Lange * @author      Mitsuru Oshima */public interface AgletContext {	/**	 * Adds the specified context listener to receive context events	 * from this context.	 * @param listener the context listener	 * @exception SecurityException	 */	abstract public void addContextListener(ContextListener listener);	/**	 * Clears class cache in memory.	 * @param codebase the codebase of the cache to clean up. if null,	 * entire cache in this context is cleared.	 */	abstract public void clearCache(URL codebase);	/**	 * Creates an instance of the specified aglet class. The aglet's class	 * code file can be located on the local file system as well as on a	 * remote server. If the <tt>codeBase</tt> is <tt>null</tt>, the context	 * will search for the code in the local system's aglet search path	 * (<tt>AGLET_PATH</tt>). The createAglet method takes three arguments:	 * <tt>codeBase</tt>, <tt>code</tt>,  and <tt>init</tt>:	 * 	 * @param codeBase	 * <tt>codeBase</tt> specifies the base URL of the aglet class file,	 * in other words, the (possibly remote) directory that contains the	 * aglet's code. If this argument is <tt>null</tt>, then the directories	 * specified in the local host's aglet search path are searched.	 * The aglet search path works in a similar way to Java's class path.	 * It is typically an environment variable that specifies a list of	 * directories to be searched for aglet code files.	 * @param code	 * <tt>code</tt> gives the name of the file that contains the	 * aglet's compiled class  code. This file is relative to the base URL	 * of the aglet, and cannot be absolute.	 * @param init	 * <tt>init</tt> is an object passed on to the aglet's onCreation	 * method.	 * @return the proxy of the new aglet.	 * @exception AgletException if the aglets can not be created.	 * @exception UnknownHostException if the given host could not be found.	 * @exception ServerNotFoundException if the server could not be found.	 * @exception InstantiationException if the instantiation failed.	 * @exception ClassNotFoundException if the class not found.	 * @see Aglet#onCreation	 */	abstract public AgletProxy createAglet(URL codeBase, String code, 										   Object init) throws IOException, 										   AgletException, 										   ClassNotFoundException, 										   InstantiationException;	/**	 * Gets an enumeration of all aglets in the current context including	 * deactivated aglets.	 * @return a list of proxies.	 */	abstract public Enumeration getAgletProxies();	/**	 * Gets an array of aglet proxies in the current context.	 * @see Aglet#ACTIVE	 * @see Aglet#INACTIVE	 * @param type the type of aglets.  ACTIVE, INACTIVE or ACTIVE | INACTIVE,	 * @return a list of proxies that matches the given state.	 */	abstract public Enumeration getAgletProxies(int type);	/**	 * Gets a proxy for an aglet in the current context. The selected aglet	 * is specified by its identity.	 * @param id the identity of the aglet.	 * @return the proxy.	 */	abstract public AgletProxy getAgletProxy(AgletID id);	/**	 * Gets a proxy for an aglet in a remote context. The remote context is	 * identified by its URL, and the aglet is indicated by its identifier.	 * 	 * @param contextAddress the address specifing a remote context.	 * @param id the identity of the aglet.	 * @return the proxy.	 * @see getName	 * @deprecated	 */	abstract public AgletProxy getAgletProxy(URL contextAddress, AgletID id);	/**	 * Gets an audio clip.	 * @param audio an absolute URL giving the location of the audio file.	 * @return the Audio clip object give by the URL.	 */	abstract public AudioClip getAudioClip(URL audio);	/**	 * Returns the URL of the daemon serving this context.	 * @return the URL of the daemon. <tt>null</tt> if the hosting information is not available.	 */	abstract public URL getHostingURL();	/**	 * Gets an image. This is a tempolary solution.	 * 	 * @param image a serializable image data.	 * @return the image object converted from the image data.	 */	abstract public Image getImage(ImageData image);	/**	 * Gets an image.	 * @param image an absolute URL giving the location of the image file.	 * @return the image object give by the URL.	 */	abstract public Image getImage(URL image);	/**	 * Gets an image data. This is a tempolary solution.	 * @param image an absolute URL giving the location of the image file.	 * @return the serializable image data.	 */	abstract public ImageData getImageData(URL image);	/**	 * Gets the name of the context. Each context running in the same	 * server can be distinguished by the name. The example of an address for	 * contexts is, "atp://host.com:4434/name".	 * 	 * @return a name of aglet context	 */	abstract public String getName();	/**	 * Gets the context property indicated by the key.	 * @param key the name of the context property.	 * @return the value of the specified key.	 */	abstract public Object getProperty(String key);	/**	 * Gets the context property indicated by the key and default value.	 * @param key the name of the context property.	 * @param def the value to use if this property is not set.	 * @return the value of the specified key.	 */	abstract public Object getProperty(String key, Object def);	/**	 * Sends a multicast message to the subscribers in the context.	 * @param message to send	 * @return ReplySet containing FutureReplies	 */	abstract public ReplySet multicastMessage(Message msg);	/**	 * Removes the specified context listener.	 * @param listener the context listener	 * @exception SecurityException	 */	abstract public void removeContextListener(ContextListener listener);	/**	 * Retracts the aglet specified by its url:	 * <tt>atp://host-domain-name/#aglet-identity</tt>.	 * @param url the location and aglet identity of the aglet to be retracted.	 * @return the aglet proxy for the retracted aglet.	 * @exception AgletException when the method failed to retract the aglet.	 * @exception UnknownHostException if the specified HOST is not found.	 * @exception ServerNotFoundException if the aglet server specified	 * in the URL is not available.	 * @exception MalformedURLException if the given url is not URI for	 * an aglet.	 * @exception RequestRefusedException if the retraction refused.	 * @exception AgletNotFoundException if the aglet could not be found.	 * 	 * @deprecated	 */	abstract public AgletProxy retractAglet(URL url) 			throws IOException, AgletException;	/**	 * Retracts the aglet specified by its url and id	 * @param url the location of the aglet to be retracted.	 * @param id  the aglet identity of the aglet to be retracted.	 * @return the aglet proxy for the retracted aglet.	 * @exception AgletException when the method failed to retract the aglet.	 * @exception UnknownHostException if the specified HOST is not found.	 * @exception ServerNotFoundException if the aglet server specified	 * in the URL is not available.	 * @exception MalformedURLException if the given url is not URI for	 * an aglet.	 * @exception RequestRefusedException if the retraction refused.	 * @exception AgletNotFoundException if the aglet could not be found.	 */	abstract public AgletProxy retractAglet(URL url, AgletID aid) 			throws IOException, AgletException;	/**	 * Sets the context property indicated by the key and value.	 * @param key the name of the context property.	 * @param value the value to be stored.	 * @return the value of the specified key.	 */	abstract public void setProperty(String key, Object value);	/**	 * Shows a new document. This may be ignored by the aglet context.	 * @param url an url to be shown	 */	abstract public void showDocument(URL url);	/**	 * Shutdown the context. This is ignored if the context is already stopped.	 * @exception SecurityException if the current execution context is not	 * allowd to shutdown	 * @see start	 */	abstract public void shutdown();	/**	 * Shutdown the context with the specific message object. This message	 * object is delivered to all aglets in the context before all aglets	 * are killed. This is ignored if the context is already stopped.	 * @exception SecurityException if the current execution context is not	 * allowd to shutdown	 * @see start	 */	abstract public void shutdown(Message msg);	/**	 * Starts the context. This is ignored if the context is already runnig.	 * @exception SecurityException	 */	abstract public void start();	/**	 * Starts the context. This is ignored if the context is already runnig.	 * @param reactivate  if false, it does not activate aglets in the deactivation spool	 * @exception SecurityException	 */	abstract public void start(boolean reactivate);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -