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
     1 package org.apidesign.anagram.app.serviceloader;
     2 
     3 import java.util.Iterator;
     4 import org.apidesign.anagram.api.Scrambler;
     5 import org.apidesign.anagram.api.WordLibrary;
     6 import org.apidesign.anagram.gui.Anagrams;
     7 import java.util.ServiceLoader;
     8 
     9 // BEGIN: anagram.serviceloader.Anagrams
    10 class AnagramsWithServiceLoader extends Anagrams {
    11 
    12     public AnagramsWithServiceLoader() {
    13     }
    14 
    15     @Override
    16     protected WordLibrary getWordLibrary() {
    17         Iterator<WordLibrary> it = ServiceLoader.load(WordLibrary.class).iterator();
    18         return it.hasNext() ? it.next() : null;
    19     }
    20 
    21     @Override
    22     protected Scrambler getScrambler() {
    23         Iterator<Scrambler> it = ServiceLoader.load(Scrambler.class).iterator();
    24         return it.hasNext() ? it.next() : null;
    25     }
    26 
    27 }
    28 // END: anagram.serviceloader.Anagrams