package dgm.graphs;
import java.util.Random;
/**
* Generate random strings
*/
public class RandomIdentifierGenerator
{
final static String[] words = ("adult,aeroplane,air,aircraft,carrier,airborne,airport,album,alphabet,apple,arm," +
"army,baby,baby,backpack,balloon,banana,bank,barbecue,bathroom,bathtub,bed,bed,bee,bible,bible,bird,bomb," +
"book,boss,bottle,bowl,box,boy,brain,bridge,butterfly,button,cappuccino,car,car-race,carpet,carrot,cave," +
"chair,chess board,chief,child,chisel,chocolates,church,church,circle,circus,circus,clock,clown,coffee," +
"coffee-shop,comet,compact disc,compass,computer,crystal,cup,cycle,data base,desk,diamond,dress,drill," +
"drink,drum,dung,ears,earth,egg,electricity,elephant,eraser,explosive,eyes,family,fan,feather,festival," +
"film,finger,fire,floodlight,flower,foot,fork,freeway,fruit,fungus,game,garden,gas,gate,gemstone,girl," +
"gloves,god,grapes,guitar,hammer,hat,hieroglyph,highway,horoscope,horse,hose,ice,ice-cream,insect,jet,"+
"junk,kaleidoscope,kitchen,knife,leather,jacket,leg,library,liquid,magnet,man,map,maze,meat,meteor," +
"microscope,milk,milkshake,mist,money,monster,mosquito,mouth,nail,navy,necklace,needle,onion," +
"paintbrush,pants,parachute,passport,pebble,pendulum,pepper,perfume,pillow,plane,planet,pocket," +
"post-office,potato,printer,prison,pyramid,radar,rainbow,record,restaurant,rifle,ring,robot,rock" +
",rocket,roof,room,rope,saddle,salt,sandpaper,sandwich,satellite,school,sex,ship,shoes,shop,shower" +
",signature,skeleton,slave,snail,software,solid,space shuttle,spectrum,sphere,spice,spiral,spoon," +
"sports-car,spot light,square,staircase,star,stomach,sun,sunglasses,surveyor,swimming pool,sword," +
"table,tapestry,teeth,telescope,television,tennis,racket,thermometer,tiger,toilet,tongue,torch," +
"torpedo,train,treadmill,triangle,tunnel,typewriter,umbrella,vacuum,vampire,videotape,vulture,water," +
"weapon,web,wheelchair,window,woman,worm,x-ray,hullabaloo,sponge,idiopathic,bobbin,bamboo,poppycock," +
"persnickety,irked,queer,flabbergasted,frippery,befuddlement,haberdashery,diphthong,britches,scrumptious," +
"sassafras,gadabouts,bazooka,cockamamie,egad,frumpy,claptrap,pooch,sack,sag,baffled,bubbles,noodles," +
"flagellum,blimp,napkin,jiggle,discombobulate,fallopian,pants,follicle,box,bladder,spoon,centipede," +
"indubitably,banana,igloo,waddle,wobble,sludge,briefs,trump,gristle,sprout,turnip,gash,sandals,crunch," +
"turd,gauze,goon,manhole,cockamamie,noddle,pudding,strudel,rubbish,duty,guava,smashing,hunky,inevitable," +
"inedible,goon,doughnut,chicken,pickle,bubbles,blubber,sickle,miscellaneous,flagella,cilia,tweezers," +
"jiggle,pregnant,hippo,blubber,fig,floppy,peduncle,fat,bum,perpendicular,ninja,flannel,graze,gullet," +
"lozenge,topple,scribble,magma,bulbous,spatula,machete,cougar,rice,cheese,fillet,bacon,truffles,scruffy," +
"sausage,bowl,flabbergasted,haberdashery,shenanigans,pop,termites,ding,feline,canine,rustic,crook," +
"reservoir,face,booty,pony,snap,rear,moose,cashew,rummage").replace(" ",",").split(",");
public final static String randomString()
{
return randomString(new Random(System.currentTimeMillis()).nextInt(Integer.MAX_VALUE));
}
// no guarantee about randomness
public final static String randomWord(int index)
{
return words[index % words.length];
}
// more likely random
public final static String randomString(int index)
{
// use radix 36 to generate random string, append it
final String rndStr = Integer.toString(index, 36);
return randomWord(index) + capitalize(rndStr);
}
public final static String capitalize(String s)
{
return s.substring(0, 1).toUpperCase() + s.substring(1, s.length());
}
}