Red Hat Application Migration Toolkit
package iaik.security.random; import iaik.security.random.JDKSeedGenerator; import iaik.security.random.MetaSeedGenerator; import iaik.security.random.RandomException; import iaik.security.random.SeedGenListener; public abstract class SeedGenerator { // $FF: synthetic field static Class b; protected SeedGenListener seedGenListener; private static Class a; private static final boolean c = false; static Class a(String var0) { try { return Class.forName(var0); } catch (ClassNotFoundException var2) { throw new NoClassDefFoundError(var2.getMessage()); } } public void setSeedGenListener(SeedGenListener var1) { this.seedGenListener = var1; this.callSeedGenListener(); } public static void setDefaultSeedGenerator(SeedGenerator var0) throws RandomException { setDefault(var0.getClass()); } public static void setDefault(Class var0) { SeedGenerator var1 = a(var0); if(!var1.seedAvailable()) { throw new RandomException("This seed generator cannot be used as default."); } else { a = var0; } } public final boolean seedAvailable() { int[] var1 = this.getStatus(); return var1[0] == var1[1]; } protected static byte[] longToBytes(long var0) { byte[] var2 = new byte[8]; for(int var3 = 7; var3 > 0; --var3) { var2[var3] = (byte)((int)var0); var0 >>>= 8; } return var2; } public abstract int[] getStatus(); public abstract byte[] getSeed(); private static SeedGenerator a(Class var0) { try { return (SeedGenerator)var0.newInstance(); } catch (Exception var2) { throw new RandomException("Internal error instantiating SeedGenerator: " + var2.getMessage()); } } public static SeedGenerator getDefaultSeedGenerator() { return getDefault(); } public static synchronized SeedGenerator getDefault() { if(a == null) { MetaSeedGenerator.setSeed((new JDKSeedGenerator(160)).getSeed()); a = b != null?b:(b = a("iaik.security.random.MetaSeedGenerator")); } return a(a); } protected void callSeedGenListener() { if(this.seedGenListener != null) { int[] var1 = this.getStatus(); this.seedGenListener.bitsGenerated(var1[0], var1[1]); } } }