# HG changeset patch # User Jaroslav Tulach # Date 1213430810 -7200 # Node ID a7d412ef33a1a98f0acbf804398a1f44570ef517 # Parent 0be61dc2e9b5d40d67c1d4e262411ceca18a282e Simple scrambler diff -r 0be61dc2e9b5 -r a7d412ef33a1 samples/componentinjection/anagram-modular/nbproject/project.xml --- a/samples/componentinjection/anagram-modular/nbproject/project.xml Sat Jun 14 10:06:48 2008 +0200 +++ b/samples/componentinjection/anagram-modular/nbproject/project.xml Sat Jun 14 10:06:50 2008 +0200 @@ -18,7 +18,13 @@ java - src-api + src-word-static + UTF-8 + + + + java + src-scrambler-simple UTF-8 @@ -68,6 +74,10 @@ src-word-static + + + src-scrambler-simple + build.xml @@ -95,6 +105,12 @@ 1.5 + src-scrambler-simple + src-api + build/scrambler-simple/classes + 1.5 + + src-test src-new-api:../libs/dist/junit-4.4.jar 1.5 diff -r 0be61dc2e9b5 -r a7d412ef33a1 samples/componentinjection/anagram-modular/src-scrambler-simple/org/apidesign/anagram/scramblersimple/SimpleScrambler.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/componentinjection/anagram-modular/src-scrambler-simple/org/apidesign/anagram/scramblersimple/SimpleScrambler.java Sat Jun 14 10:06:50 2008 +0200 @@ -0,0 +1,28 @@ +package org.apidesign.anagram.scramblersimple; + +import java.util.Random; +import org.apidesign.anagram.api.Scrambler; + +public final class SimpleScrambler implements Scrambler { + private static final Random random = new Random(); + + public String scramble(String word) { + for (;;) { + int index1 = random.nextInt(word.length()); + int index2 = random.nextInt(word.length()); + + if (index1 == index2) { + continue; + } + + char char1 = word.charAt(index1); + char char2 = word.charAt(index2); + + StringBuilder sb = new StringBuilder(word); + sb.setCharAt(index1, char2); + sb.setCharAt(index2, char1); + return sb.toString(); + } + } + +}