|
JSR-927 (Maintenance Release) | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
This interface allows an application manager to create,
initialize, start, pause, and destroy an Xlet.
An Xlet is an application or service designed to be run and
controlled by an application manager via this lifecycle interface.
The lifecycle states allow the application manager to manage
the activities of multiple Xlets within a runtime environment
by selecting which Xlets are active at a given time.
The application manager maintains the state of the Xlet and
calls the lifecycle methods of the Xlet
interface.
The Xlet implements these methods to update its internal activities
and resource usage as directed by the application manager.
The Xlet
interface methods signal state changes in
the application lifecycle, so they should be implemented to return
quickly. A state transition is not complete until the state change
method has returned.
The Xlet can initiate some state changes itself and informs
the application manager of those state changes
by invoking methods on XletContext
.
In order to support interoperability between Xlets and application managers, all Xlet classes must provide a public no-argument constructor.
The application manager directs the lifecycle of Xlets in light of their access to any scarce resources that must be shared within the system, such as as media players, tuners and section filters. In some systems, screen real estate may also be considered such a shared resource. Xlets are responsible for minimizing their use of shared resources while in any state other than the active state. An Xlet that holds shared resources improperly is eligible for forceful termination by the application manager.
XletContext
Method Summary | |
void |
destroyXlet(boolean unconditional)
Signals the Xlet to terminate and enter the Destroyed state. |
void |
initXlet(XletContext ctx)
Signals the Xlet to initialize itself and enter the Paused state. |
void |
pauseXlet()
Signals the Xlet to stop providing service and enter the Paused state. |
void |
startXlet()
Signals the Xlet to start providing service and enter the Active state. |
Method Detail |
public void initXlet(XletContext ctx) throws XletStateChangeException
After this method returns successfully, the Xlet is in the Paused state and should be quiescent.
Note: This method is called only once.
ctx
- The XletContext
for use by this Xlet, by which
it may obtain initialization arguments and runtime properties.
XletStateChangeException
- If the Xlet cannot be
initialized.XletContext.ARGS
,
XletContext.getXletProperty(java.lang.String)
public void startXlet() throws XletStateChangeException
XletStateChangeException
- is thrown if the Xlet
cannot start providing service.public void pauseXlet()
public void destroyXlet(boolean unconditional) throws XletStateChangeException
Xlets should perform any operations required before being terminated, such as releasing resources or saving preferences or state.
NOTE: The Xlet can request that it not enter the Destroyed
state by throwing an XletStateChangeException
. This
is only a valid response if the unconditional
flag is set to false
. If it is true
the Xlet is assumed to be in the Destroyed state
regardless of how this method terminates. If it is not an
unconditional request, the Xlet can signify that it wishes
to stay in its current state by throwing the Exception.
This request may be honored and the destroyXlet()
method called again at a later time.
unconditional
- If unconditional
is true when this
method is called, requests by the Xlet to not enter the
destroyed state will be ignored.
XletStateChangeException
- is thrown if the Xlet
wishes to continue to execute (Not enter the Destroyed
state).
This exception is ignored if unconditional
is equal to true
.
|
JSR-927 (Maintenance Release) | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ing HTML relocated from here.-->