Xlet
Xlet jest bardzo podobny do apletu Java i został pierwotnie wprowadzony w specyfikacji Java TV firmy Sun Microsystems w celu obsługi aplikacji telewizji cyfrowej . Chociaż Xlet wygląda powierzchownie inaczej niż inne modele aplikacji w Javie, takie jak applet i MIDlet , w rzeczywistości ma być uogólnieniem takich modeli. X w Xlet oznacza niewiadomą, co oznacza, że ramy Xlet mogą być używane w dowolnym kontekście, a nie specyficznym dla telewizji cyfrowej . W związku z tym Xlet został później ponownie wprowadzony jako część Personal Basis Profile w pakiecie javax.microedition.xlet
, który różni się nieco od oryginalnego projektu w specyfikacji Java TV.
Zapewnienie przez Xlet funkcji pauzy/wznowienia jest niezbędne w środowisku dekodera (STB), które ma ograniczone zasoby pamięci i ograniczenia przepustowości ze strony dostawcy stacji czołowej . Obecną praktyką i celem platformy Xlet jest dostarczanie aplikacji do pobrania dla Personal Basis Profile (PBP). W szczególności BD-J wykorzystuje Xlets jako ramy programistyczne.
Podczas gdy firma Sun dostarczyła referencyjną implementację Java TV , w ramach której udostępnia prosty program uruchamiający Xlet o nazwie RunXlet, podjęto co najmniej jeszcze jedną próbę wdrożenia oprogramowania typu open source w celu zaimplementowania uruchomienia Xlet.
Przykłady kodu
Interfejs dla Xlet jest zdefiniowany w pakiecie javax.tv.xlet
:
interfejs publiczny Xlet { public void initXlet ( XletContext ctx ) zgłasza wyjątek XletStateChangeException ; public void startXlet () zgłasza wyjątek XletStateChangeException ; public void pauzaXlet (); public void destroyXlet ( wartość boolowska bezwarunkowa ) zgłasza wyjątek XletStateChangeException ; }
tak więc przykładem jest stub Xlet
import javax.tv.xlet.XletStateChangeException ; importuj javax.tv.xlet.XletContext ; importuj javax.tv.xlet.Xlet ; klasa publiczna BasicXlet implementuje Xlet { public BasicXlet () {} public void initXlet ( kontekst XletContext ) zgłasza wyjątek XletStateChangeException {} public void startXlet () zgłasza wyjątek XletStateChangeException
{} public void wstrzymajXlet () {} public void destroyXlet ( boolean bezwarunkowy ) zgłasza wyjątek XletStateChangeException {} }