samples/componentinjection/anagram-modular/src-app-serviceloader/org/apidesign/anagram/app/serviceloader/AnagramsWithServiceLoader.java
1 package org.apidesign.anagram.app.serviceloader;
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;
9 // BEGIN: anagram.serviceloader.Anagrams
10 class AnagramsWithServiceLoader extends Anagrams {
12 public AnagramsWithServiceLoader() {
16 protected WordLibrary getWordLibrary() {
17 Iterator<WordLibrary> it = ServiceLoader.load(WordLibrary.class).iterator();
18 return it.hasNext() ? it.next() : null;
22 protected Scrambler getScrambler() {
23 Iterator<Scrambler> it = ServiceLoader.load(Scrambler.class).iterator();
24 return it.hasNext() ? it.next() : null;
28 // END: anagram.serviceloader.Anagrams