1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/samples/individualsamples/src/org/apidesign/samples/XMMS.java Sat Jun 14 10:03:42 2008 +0200
1.3 @@ -0,0 +1,49 @@
1.4 +package org.apidesign.samples;
1.5 +
1.6 +// BEGIN: xmms.java.api
1.7 +public class XMMS {
1.8 + public void play() { doPlay(); }
1.9 + public void pause() { doPause(); }
1.10 + public void addToPlaylist(String file) { doAddToPlaylist(file); }
1.11 +// FINISH: xmms.java.api
1.12 +
1.13 + // BEGIN: xmms.java.spi
1.14 + interface Playback {
1.15 + public void playback(byte[] data);
1.16 + }
1.17 + // END: xmms.java.spi
1.18 + public void registerPlayback(Playback callback) {
1.19 + this.callback = callback;
1.20 + }
1.21 + private Playback callback;
1.22 +
1.23 + private void doAddToPlaylist(String file) {
1.24 + }
1.25 +
1.26 + private void doPause() {
1.27 + }
1.28 +
1.29 + private void doPlay() {
1.30 + callback.playback("Play!".getBytes());
1.31 + }
1.32 +
1.33 +
1.34 +
1.35 + //
1.36 + // Usage
1.37 + //
1.38 +
1.39 + public static void main(String[] args) {
1.40 + XMMS xmms = new XMMS();
1.41 +
1.42 + // BEGIN: xmms.java.use
1.43 + class MyCallbackPrints implements XMMS.Playback {
1.44 + public void playback(byte[] data) {
1.45 + System.out.println(new String(data));
1.46 + }
1.47 + }
1.48 + xmms.registerPlayback(new MyCallbackPrints());
1.49 + // END: xmms.java.use
1.50 + }
1.51 +
1.52 +}