| 
JSR-62 (Final) | ||||||||||
| 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
 selecting which Xlets are active at a given time.
 The application manager maintains the state of the Xlet and
 invokes method on the Xlet via the lifecycle methods.  The Xlet
 implements these methods to update its internal activities and
 resource usage as directed by the application manager. 
 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.
Note: the methods on this interface are meant to signal state changes. The state change is not considered complete until the state change method has returned. It is intended that these methods return quickly.
 If the methods initXlet(), startXlet(), or
 pauseXlet() terminate with an uncaught exception or error,
 then the application manager will immediately destroy the Xlet
 unconditionally by invoking its destroyXlet() method.
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
 An XletContext is used by the Xlet to access
 properties associated with its runtime environment.
 After this method returns successfully, the Xlet
 is in the Paused state and should be quiescent.
 If the Xlet cannot initialize, XletStateChangeException
 should be thrown.  As a result, the application manager will
 immediately destroy the Xlet unconditionally by invoking the
 destroyXlet() method.
 
Note: This method shall only be called once.
ctx - The XletContext of this Xlet.
XletStateChangeException - If the Xlet cannot be
 initialized.XletContext
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-62 (Final) | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||