java-metelevisioncdcxlet

What are differences between javax.tv.xlet.Xlet and javax.microedition.xlet.Xlet?


Wikipedia is saying...

Accordingly Xlet has later been re-introduced as a part of Personal Basis Profile in javax.microedition.xlet package, which is slightly different from the original design in Java TV specification.

I couldn't find any significant differences between javax.tv.xlet.Xlet and javax.microedition.xlet.Xlet

Is there any aspects that those two interface definitions imply different to each other?


Solution

  • This question interested me, so I searched a bit. I don't have a definitive answer, but here's something to think about:

    Java TV was originally created to be used for set-top boxes and alike. As you know, the "X" in the name was originally a placeholder. The name was meant to change, but never did. Instead, the "X" became synonym for "Unknown" and should tell us that Xlets could be used a lot of places, not only for Digital TV.

    Obviously, the existing implementation of Xlet was created for specific platforms in mind, meaning it wouldn't be of any use for other platforms. In short, whenever Xlet was to be used for other platforms, it would need to be re-implemented to fit that platform. Which class to use depends on your target platform.

    From the HD Cookbook, Chapter 16: "XletContext and Xlet are defined in the Java TV packages javax.tv.xlet, and in the PBP packages javax.microedition.xlet. Blu-ray xlets must use the Java TV version of the interface, and not the PBP version." This is somewhat funny, since Blu-ray Xlets reside within the PBP packages. Yet, we must use the Java TV version of the interface to create blu-ray Xlets.

    So what is the PBP version of the interface meant for? Good question. My best guess is: Hardware devices like printers with 7" displays.