samples/componentinjection/anagram-modular/src-app-property/org/apidesign/anagram/app/property/AnagramsWithProperties.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:07:05 +0200
changeset 224 7a15b5efae6a
parent 223 74232660cfff
child 233 15d31c98a129
permissions -rw-r--r--
Shortening lines
     1 package org.apidesign.anagram.app.property;
     2 
     3 import org.apidesign.anagram.api.Scrambler;
     4 import org.apidesign.anagram.api.WordLibrary;
     5 import org.apidesign.anagram.gui.Anagrams;
     6 
     7 public final class AnagramsWithProperties extends Anagrams {
     8     private WordLibrary wordLibrary;
     9     private Scrambler scrambler;
    10     
    11     public AnagramsWithProperties() {
    12     }
    13     
    14     @Override
    15     protected WordLibrary getWordLibrary() {
    16         try {
    17             if (wordLibrary == null) {
    18                 String implName = System.getProperty(
    19                     "org.apidesign.anagram.api.WordLibrary"
    20                 );
    21                 assert implName != null;
    22                 Class<?> impl = Class.forName(implName);
    23                 wordLibrary = (WordLibrary)impl.newInstance();
    24             }
    25             return wordLibrary;
    26         } catch (Exception ex) {
    27             throw new IllegalStateException(ex);
    28         }
    29     }
    30 
    31     @Override
    32     protected Scrambler getScrambler() {
    33         try {
    34             if (scrambler == null) {
    35                 String implName = System.getProperty(
    36                     "org.apidesign.anagram.api.Scrambler"
    37                 );
    38                 assert implName != null;
    39                 Class<?> impl = Class.forName(implName);
    40                 scrambler = (Scrambler)impl.newInstance();
    41             }
    42             return scrambler;
    43         } catch (Exception ex) {
    44             throw new IllegalStateException(ex);
    45         }
    46     }
    47 }