001: /*
002: *
003: *
004: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: */
026:
027: package com.sun.midp.automation;
028:
029: /**
030: * Represents MIDlet in launched state.
031: */
032: public interface AutoMIDlet {
033: /**
034: * Initiates a switch (transition) from current to specified
035: * lifecycle state.
036: *
037: * @param state state to switch to
038: * @param wait if true, wait (block) until transition to the
039: * specified state has been completed
040: * @throws IllegalStateException thrown when switching to specified
041: * state is invalid
042: */
043: public void switchTo(AutoMIDletLifeCycleState state, boolean wait)
044: throws IllegalStateException;
045:
046: /**
047: * Initiates a switch (transition) from current to specified
048: * foreground state.
049: *
050: * @param state state to switch to
051: * @param wait if true, wait (block) until transition to the
052: * specified state has been completed
053: * @throws IllegalStateException thrown when switching to specified
054: * state is invalid
055: */
056: public void switchTo(AutoMIDletForegroundState state, boolean wait)
057: throws IllegalStateException;
058:
059: /**
060: * Waits (blocks) until MIDlet reaches specified lifecycle state.
061: *
062: * @param state state to wait for
063: * @throws IlegalStateException thrown if state to wait for is invalid,
064: * or if during waiting MIDlet has reached the state where waiting for
065: * specified state is no longer valid
066: */
067: public void waitFor(AutoMIDletLifeCycleState state)
068: throws IllegalStateException;
069:
070: /**
071: * Waits (blocks) until MIDlet reaches specified foreground state.
072: *
073: * @param state state to wait for
074: * @throws IlegalStateException thrown if state to wait for is invalid,
075: * or if during waiting MIDlet has reached the state where waiting for
076: * specified state is no longer valid
077: */
078: public void waitFor(AutoMIDletForegroundState state)
079: throws IllegalStateException;
080:
081: /**
082: * Gets current lifecycle state.
083: *
084: * @return AutoLifeCycleState representing current
085: * lifecycle state
086: */
087: public AutoMIDletLifeCycleState getLifeCycleState();
088:
089: /**
090: * Gets current foreground state.
091: *
092: * @return AutoForegroundState representing current
093: * foreground state
094: */
095: public AutoMIDletForegroundState getForegroundState();
096:
097: /**
098: * Gets MIDlet's event queue.
099: *
100: * @return AutoEventQueue representing event queue.
101: */
102: public AutoEventQueue getEventQueue();
103:
104: /**
105: * Gets MIDlet's descriptor.
106: *
107: * @return AutoMIDletDescriptor representing descriptor.
108: */
109: public AutoMIDletDescriptor getMIDletDescriptor();
110: }
|