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:01 +0200
changeset 222 def08b238fa5
parent 221 a89ad3d1da08
child 223 74232660cfff
permissions -rw-r--r--
Simplified with duplication of the code ;-)
jtulach@221
     1
package org.apidesign.anagram.app.register;
jtulach@221
     2
jtulach@221
     3
import java.util.logging.Level;
jtulach@221
     4
import java.util.logging.Logger;
jtulach@221
     5
import org.apidesign.anagram.api.Scrambler;
jtulach@221
     6
import org.apidesign.anagram.api.WordLibrary;
jtulach@221
     7
import org.apidesign.anagram.gui.Anagrams;
jtulach@221
     8
jtulach@221
     9
public final class AnagramsWithProperties extends Anagrams {
jtulach@221
    10
    private WordLibrary wordLibrary;
jtulach@221
    11
    private Scrambler scrambler;
jtulach@221
    12
    
jtulach@221
    13
    public AnagramsWithProperties() {
jtulach@221
    14
    }
jtulach@221
    15
    
jtulach@221
    16
    @Override
jtulach@221
    17
    protected WordLibrary getWordLibrary() {
jtulach@221
    18
        try {
jtulach@221
    19
            if (wordLibrary == null) {
jtulach@222
    20
                String implName = System.getProperty("org.apidesign.anagram.api.WordLibrary");
jtulach@222
    21
                assert implName != null;
jtulach@222
    22
                Class<?> impl = Class.forName(implName);
jtulach@222
    23
                wordLibrary = (WordLibrary)impl.newInstance();
jtulach@221
    24
            }
jtulach@221
    25
            return wordLibrary;
jtulach@221
    26
        } catch (Exception ex) {
jtulach@221
    27
            throw new IllegalStateException(ex);
jtulach@221
    28
        }
jtulach@221
    29
    }
jtulach@221
    30
jtulach@221
    31
    @Override
jtulach@221
    32
    protected Scrambler getScrambler() {
jtulach@221
    33
        try {
jtulach@221
    34
            if (scrambler == null) {
jtulach@222
    35
                String implName = System.getProperty("org.apidesign.anagram.api.Scrambler");
jtulach@222
    36
                assert implName != null;
jtulach@222
    37
                Class<?> impl = Class.forName(implName);
jtulach@222
    38
                scrambler = (Scrambler)impl.newInstance();
jtulach@221
    39
            }
jtulach@221
    40
            return scrambler;
jtulach@221
    41
        } catch (Exception ex) {
jtulach@221
    42
            throw new IllegalStateException(ex);
jtulach@221
    43
        }
jtulach@221
    44
    }
jtulach@221
    45
}