Making the examples more appropriate for the book
authorJaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:07:30 +0200
changeset 23315d31c98a129
parent 232 e8d817c1bdc4
child 234 e9dae6435b3a
Making the examples more appropriate for the book
samples/componentinjection/anagram-modular/src-api/org/apidesign/anagram/api/Scrambler.java
samples/componentinjection/anagram-modular/src-api/org/apidesign/anagram/api/UI.java
samples/componentinjection/anagram-modular/src-api/org/apidesign/anagram/api/WordLibrary.java
samples/componentinjection/anagram-modular/src-app-property/org/apidesign/anagram/app/property/AnagramsWithProperties.java
samples/componentinjection/anagram-modular/src-app-register-general/org/apidesign/anagram/app/registergeneral/Registry.java
samples/componentinjection/anagram-modular/src-app-register/org/apidesign/anagram/app/register/Launcher.java
samples/componentinjection/anagram-modular/src-gui/org/apidesign/anagram/gui/Anagrams.java
samples/componentinjection/anagram-modular/src-gui/org/apidesign/anagram/gui/AnagramsWithConstructor.java
     1.1 --- a/samples/componentinjection/anagram-modular/src-api/org/apidesign/anagram/api/Scrambler.java	Sat Jun 14 10:07:27 2008 +0200
     1.2 +++ b/samples/componentinjection/anagram-modular/src-api/org/apidesign/anagram/api/Scrambler.java	Sat Jun 14 10:07:30 2008 +0200
     1.3 @@ -1,7 +1,8 @@
     1.4  
     1.5  package org.apidesign.anagram.api;
     1.6  
     1.7 -
     1.8 +// BEGIN: anagram.api.scrambler
     1.9  public interface Scrambler {
    1.10      public String scramble(String word);
    1.11  }
    1.12 +// END: anagram.api.scrambler
     2.1 --- a/samples/componentinjection/anagram-modular/src-api/org/apidesign/anagram/api/UI.java	Sat Jun 14 10:07:27 2008 +0200
     2.2 +++ b/samples/componentinjection/anagram-modular/src-api/org/apidesign/anagram/api/UI.java	Sat Jun 14 10:07:30 2008 +0200
     2.3 @@ -1,7 +1,8 @@
     2.4  
     2.5  package org.apidesign.anagram.api;
     2.6  
     2.7 -
     2.8 +// BEGIN: anagram.api.ui
     2.9  public interface UI {
    2.10      public void display();
    2.11  }
    2.12 +// END: anagram.api.ui
     3.1 --- a/samples/componentinjection/anagram-modular/src-api/org/apidesign/anagram/api/WordLibrary.java	Sat Jun 14 10:07:27 2008 +0200
     3.2 +++ b/samples/componentinjection/anagram-modular/src-api/org/apidesign/anagram/api/WordLibrary.java	Sat Jun 14 10:07:30 2008 +0200
     3.3 @@ -1,7 +1,8 @@
     3.4  
     3.5  package org.apidesign.anagram.api;
     3.6  
     3.7 -
     3.8 +// BEGIN: anagram.api.library
     3.9  public interface WordLibrary {
    3.10      public String[] getWords();
    3.11  }
    3.12 +// END: anagram.api.library
     4.1 --- a/samples/componentinjection/anagram-modular/src-app-property/org/apidesign/anagram/app/property/AnagramsWithProperties.java	Sat Jun 14 10:07:27 2008 +0200
     4.2 +++ b/samples/componentinjection/anagram-modular/src-app-property/org/apidesign/anagram/app/property/AnagramsWithProperties.java	Sat Jun 14 10:07:30 2008 +0200
     4.3 @@ -10,7 +10,8 @@
     4.4      
     4.5      public AnagramsWithProperties() {
     4.6      }
     4.7 -    
     4.8 +
     4.9 +    // BEGIN: anagram.property
    4.10      @Override
    4.11      protected WordLibrary getWordLibrary() {
    4.12          try {
    4.13 @@ -44,4 +45,5 @@
    4.14              throw new IllegalStateException(ex);
    4.15          }
    4.16      }
    4.17 +    // END: anagram.property
    4.18  }
     5.1 --- a/samples/componentinjection/anagram-modular/src-app-register-general/org/apidesign/anagram/app/registergeneral/Registry.java	Sat Jun 14 10:07:27 2008 +0200
     5.2 +++ b/samples/componentinjection/anagram-modular/src-app-register-general/org/apidesign/anagram/app/registergeneral/Registry.java	Sat Jun 14 10:07:30 2008 +0200
     5.3 @@ -4,11 +4,13 @@
     5.4  import java.util.Map;
     5.5  
     5.6  public final class Registry {
     5.7 -    private static Map<Class<?>,Object[]> instances = new LinkedHashMap<Class<?>,Object[]>();
     5.8      
     5.9      private Registry() {
    5.10      }
    5.11 -    
    5.12 +
    5.13 +    // BEGIN: anagram.registry
    5.14 +    private static Map<Class<?>,Object[]> instances = 
    5.15 +        new LinkedHashMap<Class<?>,Object[]>();
    5.16      public static void registerClass(Class<?> impl) {
    5.17          instances.put(impl, new Object[1]);
    5.18      }
    5.19 @@ -28,5 +30,6 @@
    5.20          }
    5.21          return null;
    5.22      }
    5.23 +    // END: anagram.registry
    5.24  }
    5.25  
     6.1 --- a/samples/componentinjection/anagram-modular/src-app-register/org/apidesign/anagram/app/register/Launcher.java	Sat Jun 14 10:07:27 2008 +0200
     6.2 +++ b/samples/componentinjection/anagram-modular/src-app-register/org/apidesign/anagram/app/register/Launcher.java	Sat Jun 14 10:07:30 2008 +0200
     6.3 @@ -4,6 +4,7 @@
     6.4  import org.apidesign.anagram.api.UI;
     6.5  import org.apidesign.anagram.api.WordLibrary;
     6.6  
     6.7 +// BEGIN: anagram.programatic.register
     6.8  public final class Launcher {
     6.9      private static Class<? extends WordLibrary> wordLibrary;
    6.10      private static Class<? extends Scrambler> scrambler;
    6.11 @@ -14,10 +15,14 @@
    6.12      }
    6.13  
    6.14      
    6.15 -    public static void registerWordLibrary(Class<? extends WordLibrary> libraryClass) {
    6.16 +    public static void registerWordLibrary(
    6.17 +        Class<? extends WordLibrary> libraryClass
    6.18 +    ) {
    6.19          wordLibrary = libraryClass;
    6.20      }
    6.21 -    public static void registerScrambler(Class<? extends Scrambler> scramblerClass) {
    6.22 +    public static void registerScrambler(
    6.23 +        Class<? extends Scrambler> scramblerClass
    6.24 +    ) {
    6.25          scrambler = scramblerClass;
    6.26      }
    6.27      public static void registerUI(Class<? extends UI> uiClass) {
    6.28 @@ -27,6 +32,9 @@
    6.29      public static UI launch() throws Exception {
    6.30          WordLibrary w = wordLibrary.newInstance();
    6.31          Scrambler s = scrambler.newInstance();
    6.32 -        return ui.getConstructor(WordLibrary.class, Scrambler.class).newInstance(w, s);
    6.33 +        return ui.getConstructor(
    6.34 +            WordLibrary.class, Scrambler.class
    6.35 +        ).newInstance(w, s);
    6.36      }
    6.37  }
    6.38 +// END: anagram.programatic.register
     7.1 --- a/samples/componentinjection/anagram-modular/src-gui/org/apidesign/anagram/gui/Anagrams.java	Sat Jun 14 10:07:27 2008 +0200
     7.2 +++ b/samples/componentinjection/anagram-modular/src-gui/org/apidesign/anagram/gui/Anagrams.java	Sat Jun 14 10:07:30 2008 +0200
     7.3 @@ -9,13 +9,8 @@
     7.4   *
     7.5   * @author  Dirk Ruiz, Jaroslav Tulach
     7.6   */
     7.7 +// BEGIN: anagram.ui.Anagrams
     7.8  public abstract class Anagrams extends javax.swing.JFrame implements UI {
     7.9 -    int wordIdx = 0;
    7.10 -    String original;
    7.11 -    String scrambled;
    7.12 -    
    7.13 -    
    7.14 -    /** Creates new form Anagrams */
    7.15      public Anagrams() {
    7.16          initComponents();        
    7.17          getRootPane().setDefaultButton(guessButton);
    7.18 @@ -24,10 +19,13 @@
    7.19      protected abstract WordLibrary getWordLibrary();
    7.20      protected abstract Scrambler getScrambler();
    7.21      
    7.22 -    
    7.23      public void display() {
    7.24          setVisible(true);
    7.25      }
    7.26 +// FINISH: anagram.ui.Anagrams
    7.27 +    int wordIdx = 0;
    7.28 +    String original;
    7.29 +    String scrambled;
    7.30      
    7.31      @Override
    7.32      public void addNotify() {
     8.1 --- a/samples/componentinjection/anagram-modular/src-gui/org/apidesign/anagram/gui/AnagramsWithConstructor.java	Sat Jun 14 10:07:27 2008 +0200
     8.2 +++ b/samples/componentinjection/anagram-modular/src-gui/org/apidesign/anagram/gui/AnagramsWithConstructor.java	Sat Jun 14 10:07:30 2008 +0200
     8.3 @@ -3,12 +3,15 @@
     8.4  import org.apidesign.anagram.api.Scrambler;
     8.5  import org.apidesign.anagram.api.WordLibrary;
     8.6  
     8.7 +// BEGIN: anagram.ui.init
     8.8  public class AnagramsWithConstructor extends Anagrams {
     8.9      
    8.10      private final WordLibrary library;
    8.11      private final Scrambler scrambler;
    8.12  
    8.13 -    public AnagramsWithConstructor(WordLibrary library, Scrambler scrambler) {
    8.14 +    public AnagramsWithConstructor(
    8.15 +        WordLibrary library, Scrambler scrambler
    8.16 +    ) {
    8.17          this.library = library;
    8.18          this.scrambler = scrambler;
    8.19      }
    8.20 @@ -22,7 +25,9 @@
    8.21      protected Scrambler getScrambler() {
    8.22          return scrambler;
    8.23      }
    8.24 +// FINISH: anagram.ui.init
    8.25  
    8.26 +    @Override
    8.27      public void display() {
    8.28          setVisible(true);
    8.29      }