samples/individualsamples/src/org/apidesign/samples/XMMS.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:03:42 +0200
changeset 193 2b944e0980c9
child 384 8232b021005d
permissions -rw-r--r--
The XMMS example now extracts the code snippets from real files that do compile
     1 package org.apidesign.samples;
     2 
     3 // BEGIN: xmms.java.api
     4 public class XMMS {
     5     public void play() { doPlay(); }
     6     public void pause() { doPause(); }
     7     public void addToPlaylist(String file) { doAddToPlaylist(file); }
     8 // FINISH: xmms.java.api
     9 
    10     // BEGIN: xmms.java.spi
    11     interface Playback {
    12         public void playback(byte[] data);
    13     }
    14     // END: xmms.java.spi
    15     public void registerPlayback(Playback callback) {
    16         this.callback = callback;
    17     }
    18     private Playback callback;
    19     
    20     private void doAddToPlaylist(String file) {
    21     }
    22 
    23     private void doPause() {
    24     }
    25 
    26     private void doPlay() {
    27         callback.playback("Play!".getBytes());
    28     }
    29     
    30     
    31     
    32     //
    33     // Usage
    34     // 
    35     
    36     public static void main(String[] args) {
    37         XMMS xmms = new XMMS();
    38         
    39         // BEGIN: xmms.java.use
    40         class MyCallbackPrints implements XMMS.Playback {
    41             public void playback(byte[] data) {
    42                 System.out.println(new String(data));
    43             }
    44         }
    45         xmms.registerPlayback(new MyCallbackPrints());
    46         // END: xmms.java.use
    47     }
    48 
    49 }