samples/componentinjection/anagram-modular/src-app-serviceloader/org/apidesign/anagram/app/serviceloader/AnagramsWithServiceLoader.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:08:42 +0200
changeset 252 763bf709a318
parent 251 266127621c8f
child 253 08983504f8a7
permissions -rw-r--r--
Merge: Patrick's touches
jtulach@240
     1
package org.apidesign.anagram.app.serviceloader;
jtulach@240
     2
jtulach@252
     3
import java.util.Iterator;
jtulach@240
     4
import org.apidesign.anagram.api.Scrambler;
jtulach@240
     5
import org.apidesign.anagram.api.WordLibrary;
jtulach@240
     6
import org.apidesign.anagram.gui.Anagrams;
jtulach@241
     7
import java.util.ServiceLoader;
jtulach@240
     8
jtulach@240
     9
// BEGIN: anagram.serviceloader.Anagrams
jtulach@240
    10
class AnagramsWithServiceLoader extends Anagrams {
jtulach@240
    11
jtulach@240
    12
    public AnagramsWithServiceLoader() {
jtulach@240
    13
    }
jtulach@240
    14
jtulach@240
    15
    @Override
jtulach@240
    16
    protected WordLibrary getWordLibrary() {
jtulach@252
    17
        Iterator<WordLibrary> it = ServiceLoader.load(WordLibrary.class).iterator();
jtulach@252
    18
        return it.hasNext() ? it.next() : null;
jtulach@240
    19
    }
jtulach@240
    20
jtulach@240
    21
    @Override
jtulach@240
    22
    protected Scrambler getScrambler() {
jtulach@252
    23
        Iterator<Scrambler> it = ServiceLoader.load(Scrambler.class).iterator();
jtulach@252
    24
        return it.hasNext() ? it.next() : null;
jtulach@240
    25
    }
jtulach@240
    26
jtulach@240
    27
}
jtulach@240
    28
// END: anagram.serviceloader.Anagrams