Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

Copyright © 2006 Sun Microsystems, Inc. All rights reserved.

JSR 216 (Maintenance Release)

javax.microedition.xlet
Interface XletContext


public interface XletContext

An interface that provides methods allowing an Xlet to discover information about its environment. An XletContext is passed to an Xlet when the Xlet is initialized. It provides an Xlet with a mechanism to retrieve properties, as well as a way to signal internal state changes.

See Also:
Xlet

Field Summary
static String ARGS
          The property key used to obtain initialization arguments for the Xlet.
 
Method Summary
 ClassLoader getClassLoader()
          Returns the base class loader of the Xlet.
 Container getContainer()
          Get the parent container for an Xlet to put its AWT components in.
 Object getXletProperty(String key)
          Provides an Xlet with a mechanism to retrieve named properties from the XletContext.
 void notifyDestroyed()
          Used by an application to notify its manager that it has entered into the Destroyed state.
 void notifyPaused()
          Notifies the manager that the Xlet does not want to be active and has entered the Paused state.
 void resumeRequest()
          Provides the Xlet with a mechanism to indicate that it is interested in entering the Active state.
 

Field Detail

ARGS

public static final String ARGS
The property key used to obtain initialization arguments for the Xlet. The call XletContext.getXletProperty(XletContext.ARGS) will return the arguments as an array of Strings. If there are no arguments, then an array of length 0 will be returned.

See Also:
getXletProperty(java.lang.String), Constant Field Values
Method Detail

notifyDestroyed

public void notifyDestroyed()
Used by an application to notify its manager that it has entered into the Destroyed state. The application manager will not call the Xlet's destroy method, and all resources held by the Xlet will be considered eligible for reclamation. Before calling this method, the Xlet must have performed the same operations (clean up, releasing of resources etc.) it would have if the Xlet.destroyXlet() had been called.


notifyPaused

public void notifyPaused()
Notifies the manager that the Xlet does not want to be active and has entered the Paused state. Invoking this method will have no effect if the Xlet is destroyed, or if it has not yet been started.

If an Xlet calls notifyPaused(), in the future it may receive an Xlet.startXlet() call to request it to become active, or an Xlet.destroyXlet() call to request it to destroy itself.


getXletProperty

public Object getXletProperty(String key)
Provides an Xlet with a mechanism to retrieve named properties from the XletContext.

Parameters:
key - The name of the property.
Returns:
A reference to an object representing the property. null is returned if no value is available for key.
Throws:
NullPointerException - If key is null.
IllegalArgumentException - If key is an empty string.

resumeRequest

public void resumeRequest()
Provides the Xlet with a mechanism to indicate that it is interested in entering the Active state. Calls to this method can be used by an application manager to determine which Xlets to move to Active state. If the request is fulfilled, the application manager will subsequently call Xlet.startXlet() via a different thread than the one used to call resumeRequest().

See Also:
Xlet.startXlet()

getContainer

public Container getContainer()
                       throws UnavailableContainerException
Get the parent container for an Xlet to put its AWT components in. Xlets without a graphical representation need not call this method. If successful, this method returns an instance c of java.awt.Container that is initially invisible, with an arbitrary size and position. Calling c.setVisible(true) will make the container visible.

If this method is called multiple times on the same XletContext instance, the same container will be returned each time. Note that the platform need not support more than a single displayable Xlet at a time, however, at least the first call to this method platform-wide is guaranteed to succeed. The behavior for subsequent calls to this method is implementation-dependent.

The methods for setting the size and position of the xlet's parent container shall attempt to change the shape of the container, but they may fail silently or make platform specific approximations. To discover if a request to change the size or position has succeeded, the Xlet should query the container for the result.

Because the container is initially invisible, an xlet that makes the container visible and that wishes to receive the AWT focus should request this explicitly, i.e. by calling Component.requestFocus().

In order to protect UI elements that are shared between multiple xlets, implementations must prohibit access to resources that belong to a different application context than the calling thread. Therefore, xlets should be aware that an enclosing Container whose getParent() and getFocusCycleRootAncestor() methods return null may not actually be the top of the AWT containment hierarchy.

This method throws UnavailableContainerException If policy or screen real estate does not permit a Container to be granted to the Xlet, or if GraphicsEnvironment.isHeadless() returns true.

Returns:
A container with an arbitrary size and position.
Throws:
UnavailableContainerException - If a Container cannot be granted to the Xlet.
See Also:
Component.getParent(), Component.getFocusCycleRootAncestor()

getClassLoader

public ClassLoader getClassLoader()
Returns the base class loader of the Xlet. This class loader will be dedicated exclusively to the xlet. All the xlet's classes are loaded by this classloader or by a classloader that has this classloader as its ancestor.


JSR 216 (Maintenance Release)

Copyright © 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

For more information, please consult the JSR 216 specification.
ng HTML relocated from