diff --git a/core/java/src/net/i2p/stat/BufferedStatLog.java b/core/java/src/net/i2p/stat/BufferedStatLog.java index 7fed2d09042bc40fb321cc9d758e9b5a2f4d457d..5ad1024a423e461f3501db194694d4a1f676ef07 100644 --- a/core/java/src/net/i2p/stat/BufferedStatLog.java +++ b/core/java/src/net/i2p/stat/BufferedStatLog.java @@ -51,6 +51,7 @@ public class BufferedStatLog implements StatLog { writer.start(); } + @Override public void addData(String scope, String stat, long value, long duration) { if (DISABLE_LOGGING) return; if (!shouldLog(stat)) return; @@ -122,6 +123,7 @@ public class BufferedStatLog implements StatLog { private class StatLogWriter implements Runnable { private SimpleDateFormat _fmt = new SimpleDateFormat("yyyyMMdd HH:mm:ss.SSS"); + @Override public void run() { int writeStart = -1; int writeEnd = -1; diff --git a/core/java/src/net/i2p/stat/Rate.java b/core/java/src/net/i2p/stat/Rate.java index 6d4fed17a4798cb54a834f8af2be1fcfcfb79315..d4164c2b5679bdf8297e39304da06e50dbf8aa36 100644 --- a/core/java/src/net/i2p/stat/Rate.java +++ b/core/java/src/net/i2p/stat/Rate.java @@ -436,6 +436,7 @@ public class Rate { coalesce(); } + @Override public boolean equals(Object obj) { if ((obj == null) || (obj.getClass() != Rate.class)) return false; if (obj == this) return true; @@ -451,6 +452,7 @@ public class Rate { && _lifetimeTotalEventTime == r.getLifetimeTotalEventTime(); } + @Override public String toString() { StringBuffer buf = new StringBuffer(2048); buf.append("\n\t total value: ").append(getLastTotalValue()); diff --git a/core/java/src/net/i2p/stat/RateStat.java b/core/java/src/net/i2p/stat/RateStat.java index 44bf81df6d3fa557f6327c36d439beb7ed1b490a..329706040c80d5945dde28c9c596656fa65c0c56 100644 --- a/core/java/src/net/i2p/stat/RateStat.java +++ b/core/java/src/net/i2p/stat/RateStat.java @@ -84,12 +84,14 @@ public class RateStat { return null; } + @Override public int hashCode() { return _statName.hashCode(); } private final static String NL = System.getProperty("line.separator"); + @Override public String toString() { StringBuffer buf = new StringBuffer(4096); buf.append(getGroupName()).append('.').append(getName()).append(": ").append(getDescription()).append('\n'); @@ -104,6 +106,7 @@ public class RateStat { return buf.toString(); } + @Override public boolean equals(Object obj) { if ((obj == null) || (obj.getClass() != RateStat.class)) return false; RateStat rs = (RateStat) obj; diff --git a/core/java/src/net/i2p/time/NtpMessage.java b/core/java/src/net/i2p/time/NtpMessage.java index f7626b55b06006077cc0780a96b092f78eca3041..5db2d139052a892c1be2f343c57776e8248a0eee 100644 --- a/core/java/src/net/i2p/time/NtpMessage.java +++ b/core/java/src/net/i2p/time/NtpMessage.java @@ -328,6 +328,7 @@ public class NtpMessage { /** * Returns a string representation of a NtpMessage */ + @Override public String toString() { String precisionStr = new DecimalFormat("0.#E0").format(Math.pow(2, precision)); diff --git a/core/java/src/net/i2p/time/Timestamper.java b/core/java/src/net/i2p/time/Timestamper.java index 6758ab4660ea3247559e1ebb0ddf9953b3dca306..35c5c01e89bf154c51bd627d5273b40b757e8f6e 100644 --- a/core/java/src/net/i2p/time/Timestamper.java +++ b/core/java/src/net/i2p/time/Timestamper.java @@ -110,6 +110,7 @@ public class Timestamper implements Runnable { } catch (InterruptedException ie) {} } + @Override public void run() { try { Thread.sleep(1000); } catch (InterruptedException ie) {} _log = _context.logManager().getLog(Timestamper.class); diff --git a/core/java/src/net/i2p/util/BufferedRandomSource.java b/core/java/src/net/i2p/util/BufferedRandomSource.java index 3c0082565e6eb2e27f8b3dd029d91a2292591267..dc975671a5d1b18e151ec587f93de9582a849cdb 100644 --- a/core/java/src/net/i2p/util/BufferedRandomSource.java +++ b/core/java/src/net/i2p/util/BufferedRandomSource.java @@ -113,6 +113,7 @@ public class BufferedRandomSource extends RandomSource { } } + @Override public synchronized final void nextBytes(byte buf[]) { int outOffset = 0; while (outOffset < buf.length) { @@ -128,6 +129,7 @@ public class BufferedRandomSource extends RandomSource { } } + @Override public final int nextInt(int n) { if (n <= 0) return 0; int val = ((int)nextBits(countBits(n))) % n; @@ -136,13 +138,15 @@ public class BufferedRandomSource extends RandomSource { else return val; } - + + @Override public final int nextInt() { return nextInt(Integer.MAX_VALUE); } /** * Like the modified nextInt, nextLong(n) returns a random number from 0 through n, * including 0, excluding n. */ + @Override public final long nextLong(long n) { if (n <= 0) return 0; long val = nextBits(countBits(n)) % n; @@ -152,6 +156,7 @@ public class BufferedRandomSource extends RandomSource { return val; } + @Override public final long nextLong() { return nextLong(Long.MAX_VALUE); } static final int countBits(long val) { @@ -172,22 +177,26 @@ public class BufferedRandomSource extends RandomSource { * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public final boolean nextBoolean() { return nextBits(1) != 0; } private static final double DOUBLE_DENOMENATOR = (double)(1L << 53); /** defined per javadoc ( ((nextBits(26)<<27) + nextBits(27)) / (1 << 53)) */ + @Override public final double nextDouble() { long top = (((long)nextBits(26) << 27) + nextBits(27)); return top / DOUBLE_DENOMENATOR; } private static final float FLOAT_DENOMENATOR = (float)(1 << 24); /** defined per javadoc (nextBits(24) / ((float)(1 << 24)) ) */ + @Override public float nextFloat() { long top = nextBits(24); return top / FLOAT_DENOMENATOR; } + @Override public double nextGaussian() { // bah, unbuffered return super.nextGaussian(); diff --git a/core/java/src/net/i2p/util/ByteCache.java b/core/java/src/net/i2p/util/ByteCache.java index aadc721aa447143fa0d90c2d6c10f5def65e7703..c8b4d51a36cddbb602934a4d8f5f66ce32d8e0d3 100644 --- a/core/java/src/net/i2p/util/ByteCache.java +++ b/core/java/src/net/i2p/util/ByteCache.java @@ -108,6 +108,7 @@ public final class ByteCache { } private class Cleanup implements SimpleTimer.TimedEvent { + @Override public void timeReached() { if (System.currentTimeMillis() - _lastOverflow > EXPIRE_PERIOD) { // we haven't exceeded the cache size in a few minutes, so lets diff --git a/core/java/src/net/i2p/util/Clock.java b/core/java/src/net/i2p/util/Clock.java index 2ac0a0cab2e9f58b941753a8021d7f91e5db0002..ba0daa786a8cc4cc173c17594944ae455fe08027 100644 --- a/core/java/src/net/i2p/util/Clock.java +++ b/core/java/src/net/i2p/util/Clock.java @@ -109,7 +109,8 @@ public class Clock implements Timestamper.UpdateListener { } public boolean getUpdatedSuccessfully() { return _alreadyChanged; } - + + @Override public void setNow(long realTime) { long diff = realTime - System.currentTimeMillis(); setOffset(diff); diff --git a/core/java/src/net/i2p/util/DecayingBloomFilter.java b/core/java/src/net/i2p/util/DecayingBloomFilter.java index 164c8e45345fbbcd398406d10707707041ad6a04..0d9275b5cd014d114cf175637e70cbc928d83d65 100644 --- a/core/java/src/net/i2p/util/DecayingBloomFilter.java +++ b/core/java/src/net/i2p/util/DecayingBloomFilter.java @@ -206,6 +206,7 @@ public class DecayingBloomFilter { } private class DecayEvent implements SimpleTimer.TimedEvent { + @Override public void timeReached() { if (_keepDecaying) { decay(); diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java index 468fefa79d15826491ac266dc83e960802299aae..bf8acbea370763f97126f243dc97352096c07f19 100644 --- a/core/java/src/net/i2p/util/EepGet.java +++ b/core/java/src/net/i2p/util/EepGet.java @@ -262,6 +262,7 @@ public class EepGet { _startedOn = _lastComplete; _firstTime = true; } + @Override public void bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url) { if (_firstTime) { if (alreadyTransferred > 0) { @@ -318,6 +319,7 @@ public class EepGet { } } } + @Override public void transferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified) { long transferred; if (_firstTime) @@ -356,6 +358,7 @@ public class EepGet { System.out.println(buf.toString()); } } + @Override public void attemptFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt, int numRetries, Exception cause) { System.out.println(); System.out.println("** " + new Date()); @@ -366,6 +369,7 @@ public class EepGet { _previousWritten += _written; _written = 0; } + @Override public void transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt) { System.out.println("== " + new Date()); System.out.println("== Transfer of " + url + " failed after " + currentAttempt + " attempts"); @@ -382,7 +386,9 @@ public class EepGet { buf.append("KBps"); System.out.println(buf.toString()); } + @Override public void attempting(String url) {} + @Override public void headerReceived(String url, int currentAttempt, String key, String val) {} } @@ -418,6 +424,7 @@ public class EepGet { timeout = new SocketTimeout(_fetchHeaderTimeout); final SocketTimeout stimeout = timeout; // ugly timeout.setTimeoutCommand(new Runnable() { + @Override public void run() { if (_log.shouldLog(Log.DEBUG)) _log.debug("timeout reached on " + _url + ": " + stimeout); diff --git a/core/java/src/net/i2p/util/EepGetScheduler.java b/core/java/src/net/i2p/util/EepGetScheduler.java index c295196b3d01617820b013483bd5baacb0ab64b7..2b2867783953ecebaf83f450747abd6dcd3402d3 100644 --- a/core/java/src/net/i2p/util/EepGetScheduler.java +++ b/core/java/src/net/i2p/util/EepGetScheduler.java @@ -29,7 +29,12 @@ public class EepGetScheduler implements EepGet.StatusListener { } public void fetch() { - I2PThread t = new I2PThread(new Runnable() { public void run() { fetchNext(); } }, "EepGetScheduler"); + I2PThread t = new I2PThread(new Runnable() { + @Override + public void run() { + fetchNext(); + } + }, "EepGetScheduler"); t.setDaemon(true); t.start(); } @@ -62,24 +67,30 @@ public class EepGetScheduler implements EepGet.StatusListener { get.fetch(); } + @Override public void attemptFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt, int numRetries, Exception cause) { _listener.attemptFailed(url, bytesTransferred, bytesRemaining, currentAttempt, numRetries, cause); } + @Override public void bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url) { _listener.bytesTransferred(alreadyTransferred, currentWrite, bytesTransferred, bytesRemaining, url); } + @Override public void transferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified) { _listener.transferComplete(alreadyTransferred, bytesTransferred, bytesRemaining, url, outputFile, notModified); fetchNext(); } + @Override public void transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt) { _listener.transferFailed(url, bytesTransferred, bytesRemaining, currentAttempt); fetchNext(); } + @Override public void attempting(String url) { _listener.attempting(url); } + @Override public void headerReceived(String url, int attemptNum, String key, String val) {} } diff --git a/core/java/src/net/i2p/util/EepPost.java b/core/java/src/net/i2p/util/EepPost.java index 50929f3cf5e8e3cf1746acea77f7346005516f0a..a72e9792458c18d8378e40c08a84940f5942d819 100644 --- a/core/java/src/net/i2p/util/EepPost.java +++ b/core/java/src/net/i2p/util/EepPost.java @@ -73,6 +73,7 @@ public class EepPost { _fields = fields; _onCompletion = onCompletion; } + @Override public void run() { if (_log.shouldLog(Log.DEBUG)) _log.debug("Running the post task"); Socket s = null; diff --git a/core/java/src/net/i2p/util/EventDispatcherImpl.java b/core/java/src/net/i2p/util/EventDispatcherImpl.java index b82682b88588ec4473e213954d07524a147e89ef..9a82d6a1df5805cb4e2e6b18e8efbd6e27c50081 100644 --- a/core/java/src/net/i2p/util/EventDispatcherImpl.java +++ b/core/java/src/net/i2p/util/EventDispatcherImpl.java @@ -37,11 +37,13 @@ public class EventDispatcherImpl implements EventDispatcher { private boolean _ignore = false; private HashMap _events = new HashMap(4); private ArrayList _attached = new ArrayList(); - + + @Override public EventDispatcher getEventDispatcher() { return this; } - + + @Override public void attachEventDispatcher(EventDispatcher ev) { if (ev == null) return; synchronized (_attached) { @@ -49,7 +51,8 @@ public class EventDispatcherImpl implements EventDispatcher { _attached.add(ev); } } - + + @Override public void detachEventDispatcher(EventDispatcher ev) { if (ev == null) return; synchronized (_attached) { @@ -62,7 +65,8 @@ public class EventDispatcherImpl implements EventDispatcher { } } } - + + @Override public void notifyEvent(String eventName, Object args) { if (_ignore) return; if (args == null) { @@ -84,7 +88,8 @@ public class EventDispatcherImpl implements EventDispatcher { } } } - + + @Override public Object getEventValue(String name) { if (_ignore) return null; Object val; @@ -106,7 +111,8 @@ public class EventDispatcherImpl implements EventDispatcher { return set; } - + + @Override public void ignoreEvents() { _ignore = true; synchronized (_events) { @@ -114,11 +120,13 @@ public class EventDispatcherImpl implements EventDispatcher { } _events = null; } - + + @Override public void unIgnoreEvents() { _ignore = false; } - + + @Override public Object waitEventValue(String name) { if (_ignore) return null; Object val; diff --git a/core/java/src/net/i2p/util/Executor.java b/core/java/src/net/i2p/util/Executor.java index fb8757f4fedf1e38440561631da61bf29bc19a41..1b8fa17bb0160c31c6976036c370dbd85f9bbfde 100644 --- a/core/java/src/net/i2p/util/Executor.java +++ b/core/java/src/net/i2p/util/Executor.java @@ -16,6 +16,7 @@ class Executor implements Runnable { runn = x; } + @Override public void run() { while(runn.getAnswer()) { SimpleTimer.TimedEvent evt = null; diff --git a/core/java/src/net/i2p/util/FortunaRandomSource.java b/core/java/src/net/i2p/util/FortunaRandomSource.java index 04d4305a35480221e6500061bdb1cc48e943e572..8f499935b94a537f3cbe8e3ad0cb2a3da2359b6a 100644 --- a/core/java/src/net/i2p/util/FortunaRandomSource.java +++ b/core/java/src/net/i2p/util/FortunaRandomSource.java @@ -44,6 +44,7 @@ public class FortunaRandomSource extends RandomSource implements EntropyHarveste _haveNextGaussian = false; } + @Override public synchronized void setSeed(byte buf[]) { _fortuna.addRandomBytes(buf); } @@ -56,6 +57,7 @@ public class FortunaRandomSource extends RandomSource implements EntropyHarveste * thats what it has been used for. * */ + @Override public int nextInt(int n) { if (n == 0) return 0; int rv = signedNextInt(n); @@ -64,7 +66,8 @@ public class FortunaRandomSource extends RandomSource implements EntropyHarveste rv %= n; return rv; } - + + @Override public int nextInt() { return signedNextInt(Integer.MAX_VALUE); } /** @@ -107,6 +110,7 @@ public class FortunaRandomSource extends RandomSource implements EntropyHarveste * Like the modified nextInt, nextLong(n) returns a random number from 0 through n, * including 0, excluding n. */ + @Override public long nextLong(long n) { if (n == 0) return 0; long rv = signedNextLong(n); @@ -116,6 +120,7 @@ public class FortunaRandomSource extends RandomSource implements EntropyHarveste return rv; } + @Override public long nextLong() { return signedNextLong(Long.MAX_VALUE); } /** @@ -125,12 +130,14 @@ public class FortunaRandomSource extends RandomSource implements EntropyHarveste return ((long)nextBits(32) << 32) + nextBits(32); } + @Override public synchronized boolean nextBoolean() { // wasteful, might be worth caching the boolean byte later byte val = _fortuna.nextByte(); return ((val & 0x01) == 1); } + @Override public synchronized void nextBytes(byte buf[]) { _fortuna.nextBytes(buf); } @@ -138,18 +145,21 @@ public class FortunaRandomSource extends RandomSource implements EntropyHarveste /** * Implementation from sun's java.util.Random javadocs */ + @Override public double nextDouble() { return (((long)nextBits(26) << 27) + nextBits(27)) / (double)(1L << 53); } /** * Implementation from sun's java.util.Random javadocs */ + @Override public float nextFloat() { return nextBits(24) / ((float)(1 << 24)); } /** * Implementation from sun's java.util.Random javadocs */ + @Override public synchronized double nextGaussian() { if (_haveNextGaussian) { _haveNextGaussian = false; @@ -185,14 +195,17 @@ public class FortunaRandomSource extends RandomSource implements EntropyHarveste return (int)rv; } + @Override public EntropyHarvester harvester() { return this; } /** reseed the fortuna */ + @Override public synchronized void feedEntropy(String source, long data, int bitoffset, int bits) { _fortuna.addRandomByte((byte)(data & 0xFF)); } - /** reseed the fortuna */ + /** reseed the fortuna */ + @Override public synchronized void feedEntropy(String source, byte[] data, int offset, int len) { _fortuna.addRandomBytes(data, offset, len); } diff --git a/core/java/src/net/i2p/util/I2PThread.java b/core/java/src/net/i2p/util/I2PThread.java index f33d6f08d5a5861042b8335281ff2566ae34e4e7..ac7208c103f74d01c65d0c5179bd7e19e324b5e8 100644 --- a/core/java/src/net/i2p/util/I2PThread.java +++ b/core/java/src/net/i2p/util/I2PThread.java @@ -62,7 +62,8 @@ public class I2PThread extends Thread { if (_log.shouldLog(level)) _log.log(level, msg, t); } - + + @Override public void run() { _name = Thread.currentThread().getName(); log(Log.DEBUG, "New thread started: " + _name, _createdBy); @@ -81,6 +82,7 @@ public class I2PThread extends Thread { log(Log.DEBUG, "Thread finished gracefully: " + _name); } + @Override protected void finalize() throws Throwable { log(Log.DEBUG, "Thread finalized: " + _name); super.finalize(); @@ -109,6 +111,7 @@ public class I2PThread extends Thread { public static void main(String args[]) { I2PThread t = new I2PThread(new Runnable() { + @Override public void run() { throw new NullPointerException("blah"); } diff --git a/core/java/src/net/i2p/util/Log.java b/core/java/src/net/i2p/util/Log.java index 7293c5174b82a6897f8b068ce8cf407f5f045915..54330a75937ab7c000be0acb15e4b7a2af4eb204 100644 --- a/core/java/src/net/i2p/util/Log.java +++ b/core/java/src/net/i2p/util/Log.java @@ -183,9 +183,11 @@ public class Log { _scopeClass = cls; _scopeCache = getScope(name, cls); } + @Override public int hashCode() { return _scopeCache.hashCode(); } + @Override public boolean equals(Object obj) { if (obj == null) throw new NullPointerException("Null object scope?"); if (obj instanceof LogScope) { diff --git a/core/java/src/net/i2p/util/LogManager.java b/core/java/src/net/i2p/util/LogManager.java index 0d2280b41d0e9c63ef761e54bb4d74a23d145a34..1f957515ca3a0722772a66c0e320e323c2d89127 100644 --- a/core/java/src/net/i2p/util/LogManager.java +++ b/core/java/src/net/i2p/util/LogManager.java @@ -655,6 +655,7 @@ public class LogManager { public ShutdownHook() { _id = ++__id; } + @Override public void run() { setName("Log " + _id + " shutdown "); shutdown(); diff --git a/core/java/src/net/i2p/util/LogWriter.java b/core/java/src/net/i2p/util/LogWriter.java index 9a4598fcf367b042b1f6a99c774ee98f67d543b1..a2612d1c4d61e31dcf64a271bcf4ff323c219436 100644 --- a/core/java/src/net/i2p/util/LogWriter.java +++ b/core/java/src/net/i2p/util/LogWriter.java @@ -43,7 +43,8 @@ class LogWriter implements Runnable { public void stopWriting() { _write = false; } - + + @Override public void run() { _write = true; try { diff --git a/core/java/src/net/i2p/util/LookaheadInputStream.java b/core/java/src/net/i2p/util/LookaheadInputStream.java index cdce06df27afb897a615b324e2176aa685872318..7b23d26aeef4208cdc2659345a757e49ef60a148 100644 --- a/core/java/src/net/i2p/util/LookaheadInputStream.java +++ b/core/java/src/net/i2p/util/LookaheadInputStream.java @@ -38,6 +38,7 @@ public class LookaheadInputStream extends FilterInputStream { boolean f = true; } + @Override public int read() throws IOException { if (_eofReached) return -1; //throw new IOException("Already past the EOF"); @@ -52,9 +53,11 @@ public class LookaheadInputStream extends FilterInputStream { if (rv < 0) rv += 256; return rv; } + @Override public int read(byte buf[]) throws IOException { return read(buf, 0, buf.length); } + @Override public int read(byte buf[], int off, int len) throws IOException { if (_eofReached) return -1; diff --git a/core/java/src/net/i2p/util/NativeBigInteger.java b/core/java/src/net/i2p/util/NativeBigInteger.java index 71320869554538af564c6e5906587ff3ed8a4ada..7a64e24e42e1b7a563e03109e5fd1061699d787e 100644 --- a/core/java/src/net/i2p/util/NativeBigInteger.java +++ b/core/java/src/net/i2p/util/NativeBigInteger.java @@ -221,18 +221,21 @@ public class NativeBigInteger extends BigInteger { this(integer.toByteArray()); } + @Override public BigInteger modPow(BigInteger exponent, BigInteger m) { if (_nativeOk) return new NativeBigInteger(nativeModPow(toByteArray(), exponent.toByteArray(), m.toByteArray())); else return super.modPow(exponent, m); } + @Override public byte[] toByteArray(){ if(cachedBa == null) //Since we are immutable it is safe to never update the cached ba after it has initially been generated cachedBa = super.toByteArray(); return cachedBa; } + @Override public double doubleValue() { if (_nativeOk) return nativeDoubleValue(toByteArray()); diff --git a/core/java/src/net/i2p/util/OrderedProperties.java b/core/java/src/net/i2p/util/OrderedProperties.java index 98c58a3f2e220ccd13304b9fdada183a85359a55..88528e8bfcbf5a10acdf132200aa99fb657fdf2e 100644 --- a/core/java/src/net/i2p/util/OrderedProperties.java +++ b/core/java/src/net/i2p/util/OrderedProperties.java @@ -48,22 +48,26 @@ public class OrderedProperties extends Properties { _data = new HashMap(); } + @Override public boolean contains(Object value) { return containsValue(value); } + @Override public boolean containsKey(Object key) { synchronized (_lock) { return _data.containsKey(key); } } + @Override public boolean containsValue(Object value) { synchronized (_lock) { return _data.containsValue(value); } } + @Override public boolean equals(Object obj) { if ((obj != null) && (obj instanceof OrderedProperties)) { synchronized (_lock) { @@ -74,20 +78,24 @@ public class OrderedProperties extends Properties { return false; } + @Override public int hashCode() { synchronized (_lock) { return _data.hashCode(); } } + @Override public boolean isEmpty() { return size() == 0; } + @Override public String getProperty(String key) { return getProperty((Object) key); } + @Override public Object get(Object key) { return getProperty(key); } @@ -102,6 +110,7 @@ public class OrderedProperties extends Properties { } } + @Override public Object setProperty(String key, String val) { if ((key == null) || (val == null)) throw new IllegalArgumentException("Null values are not supported"); synchronized (_lock) { @@ -111,6 +120,7 @@ public class OrderedProperties extends Properties { } } + @Override public Object put(Object key, Object val) { if ((key == null) || (val == null)) throw new NullPointerException("Null values or keys are not allowed"); if (!(key instanceof String) || !(val instanceof String)) @@ -118,6 +128,7 @@ public class OrderedProperties extends Properties { return setProperty((String) key, (String) val); } + @Override public void putAll(Map data) { if (data == null) return; for (Iterator iter = data.entrySet().iterator(); iter.hasNext();) { @@ -128,6 +139,7 @@ public class OrderedProperties extends Properties { } } + @Override public Object clone() { synchronized (_lock) { OrderedProperties rv = new OrderedProperties(); @@ -136,6 +148,7 @@ public class OrderedProperties extends Properties { } } + @Override public void clear() { synchronized (_lock) { _order.clear(); @@ -143,12 +156,14 @@ public class OrderedProperties extends Properties { } } + @Override public int size() { synchronized (_lock) { return _order.size(); } } + @Override public Object remove(Object key) { synchronized (_lock) { _order.remove(key); @@ -157,18 +172,21 @@ public class OrderedProperties extends Properties { } } + @Override public Set keySet() { synchronized (_lock) { return Collections.unmodifiableSortedSet((TreeSet) _order.clone()); } } + @Override public Set entrySet() { synchronized (_lock) { return Collections.unmodifiableSet(buildEntrySet((TreeSet) _order.clone())); } } + @Override public Collection values() { synchronized (_lock) { Collection values = new ArrayList(_data.size()); @@ -179,28 +197,35 @@ public class OrderedProperties extends Properties { } } + @Override public Enumeration elements() { return Collections.enumeration(values()); } + @Override public Enumeration keys() { return Collections.enumeration(keySet()); } + @Override public Enumeration propertyNames() { return Collections.enumeration(keySet()); } + @Override public void list(PrintStream out) { // nop } + @Override public void list(PrintWriter out) { // nop } + @Override public void load(InputStream in) { // nop } //public void save(OutputStream out, String header) {} + @Override public void store(OutputStream out, String header) { // nop } @@ -223,20 +248,24 @@ public class OrderedProperties extends Properties { _value = val; } + @Override public Object getKey() { return _key; } + @Override public Object getValue() { return _value; } + @Override public Object setValue(Object value) { Object old = _value; _value = value; return old; } + @Override public int compareTo(Object o) { if (o == null) return -1; if (o instanceof StringMapEntry) return ((String) getKey()).compareTo((String)((StringMapEntry) o).getKey()); @@ -244,6 +273,7 @@ public class OrderedProperties extends Properties { return -2; } + @Override public boolean equals(Object o) { if (o == null) return false; if (!(o instanceof StringMapEntry)) return false; @@ -329,6 +359,7 @@ public class OrderedProperties extends Properties { _props = props; } + @Override public void run() { int numRuns = 1000; _log.debug("Begin thrashing " + numRuns + " times"); diff --git a/core/java/src/net/i2p/util/PooledRandomSource.java b/core/java/src/net/i2p/util/PooledRandomSource.java index 5a6bb7bddfe907a46cb4a48a9c53e3c3735a88ff..29ee8ba0531b0ba7678969aa3cb723286316f5fe 100644 --- a/core/java/src/net/i2p/util/PooledRandomSource.java +++ b/core/java/src/net/i2p/util/PooledRandomSource.java @@ -89,6 +89,7 @@ public class PooledRandomSource extends RandomSource { * thats what it has been used for. * */ + @Override public int nextInt(int n) { RandomSource prng = pickPRNG(); synchronized (prng) { @@ -100,6 +101,7 @@ public class PooledRandomSource extends RandomSource { * Like the modified nextInt, nextLong(n) returns a random number from 0 through n, * including 0, excluding n. */ + @Override public long nextLong(long n) { RandomSource prng = pickPRNG(); synchronized (prng) { @@ -111,6 +113,7 @@ public class PooledRandomSource extends RandomSource { * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public boolean nextBoolean() { RandomSource prng = pickPRNG(); synchronized (prng) { @@ -121,6 +124,7 @@ public class PooledRandomSource extends RandomSource { * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public void nextBytes(byte buf[]) { RandomSource prng = pickPRNG(); synchronized (prng) { @@ -131,6 +135,7 @@ public class PooledRandomSource extends RandomSource { * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public double nextDouble() { RandomSource prng = pickPRNG(); synchronized (prng) { @@ -141,6 +146,7 @@ public class PooledRandomSource extends RandomSource { * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public float nextFloat() { RandomSource prng = pickPRNG(); synchronized (prng) { @@ -151,6 +157,7 @@ public class PooledRandomSource extends RandomSource { * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public double nextGaussian() { RandomSource prng = pickPRNG(); synchronized (prng) { @@ -161,6 +168,7 @@ public class PooledRandomSource extends RandomSource { * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public int nextInt() { RandomSource prng = pickPRNG(); synchronized (prng) { @@ -171,6 +179,7 @@ public class PooledRandomSource extends RandomSource { * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public long nextLong() { RandomSource prng = pickPRNG(); synchronized (prng) { @@ -178,6 +187,7 @@ public class PooledRandomSource extends RandomSource { } } + @Override public EntropyHarvester harvester() { RandomSource prng = pickPRNG(); return prng.harvester(); diff --git a/core/java/src/net/i2p/util/RandomSource.java b/core/java/src/net/i2p/util/RandomSource.java index e8a0a31e71a882a9038058f88f6b3b964e676d88..81a5baef4033fd6fc08a7b2c4956573ce8cd2d7e 100644 --- a/core/java/src/net/i2p/util/RandomSource.java +++ b/core/java/src/net/i2p/util/RandomSource.java @@ -49,6 +49,7 @@ public class RandomSource extends SecureRandom implements EntropyHarvester { * thats what it has been used for. * */ + @Override public int nextInt(int n) { if (n == 0) return 0; int val = super.nextInt(n); @@ -72,45 +73,54 @@ public class RandomSource extends SecureRandom implements EntropyHarvester { * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public boolean nextBoolean() { return super.nextBoolean(); } /** * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public void nextBytes(byte buf[]) { super.nextBytes(buf); } /** * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public double nextDouble() { return super.nextDouble(); } /** * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public float nextFloat() { return super.nextFloat(); } /** * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public double nextGaussian() { return super.nextGaussian(); } /** * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public int nextInt() { return super.nextInt(); } /** * override as synchronized, for those JVMs that don't always pull via * nextBytes (cough ibm) */ + @Override public long nextLong() { return super.nextLong(); } public EntropyHarvester harvester() { return _entropyHarvester; } + @Override public void feedEntropy(String source, long data, int bitoffset, int bits) { if (bitoffset == 0) setSeed(data); } + @Override public void feedEntropy(String source, byte[] data, int offset, int len) { if ( (offset == 0) && (len == data.length) ) { setSeed(data); diff --git a/core/java/src/net/i2p/util/ResettableGZIPInputStream.java b/core/java/src/net/i2p/util/ResettableGZIPInputStream.java index 5832a81741b40c3166c2121672595a9facc11a81..41e43407e781a3be38b62fcbff9e6011c3814da5 100644 --- a/core/java/src/net/i2p/util/ResettableGZIPInputStream.java +++ b/core/java/src/net/i2p/util/ResettableGZIPInputStream.java @@ -60,6 +60,7 @@ public class ResettableGZIPInputStream extends InflaterInputStream { verifyHeader(); } + @Override public int read() throws IOException { if (_complete) { // shortcircuit so the inflater doesn't try to refill @@ -73,9 +74,11 @@ public class ResettableGZIPInputStream extends InflaterInputStream { return _buf1[0]; } + @Override public int read(byte buf[]) throws IOException { return read(buf, 0, buf.length); } + @Override public int read(byte buf[], int off, int len) throws IOException { if (_complete) { // shortcircuit so the inflater doesn't try to refill diff --git a/core/java/src/net/i2p/util/ResettableGZIPOutputStream.java b/core/java/src/net/i2p/util/ResettableGZIPOutputStream.java index d7f578da794ef21b7a7003d7d0db09fe31e2feb2..a9aa9cc3ce22b66c3a74d913534bac1a95020b81 100644 --- a/core/java/src/net/i2p/util/ResettableGZIPOutputStream.java +++ b/core/java/src/net/i2p/util/ResettableGZIPOutputStream.java @@ -91,25 +91,30 @@ public class ResettableGZIPOutputStream extends DeflaterOutputStream { } } + @Override public void close() throws IOException { finish(); super.close(); } + @Override public void finish() throws IOException { ensureHeaderIsWritten(); super.finish(); writeFooter(); } + @Override public void write(int b) throws IOException { ensureHeaderIsWritten(); _crc32.update(b); _writtenSize++; super.write(b); } + @Override public void write(byte buf[]) throws IOException { write(buf, 0, buf.length); } + @Override public void write(byte buf[], int off, int len) throws IOException { ensureHeaderIsWritten(); _crc32.update(buf, off, len); diff --git a/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java b/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java index 49cf34084a851df40f0d4acbdc524c13fcd41215..544c85ed279b12415fe7a683e1baa0fb56dca2de 100644 --- a/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java +++ b/core/java/src/net/i2p/util/ReusableGZIPOutputStream.java @@ -47,6 +47,7 @@ public class ReusableGZIPOutputStream extends ResettableGZIPOutputStream { _buffer = (ByteArrayOutputStream)out; } /** clear the data so we can start again afresh */ + @Override public void reset() { super.reset(); _buffer.reset(); diff --git a/core/java/src/net/i2p/util/ShellCommand.java b/core/java/src/net/i2p/util/ShellCommand.java index 3866dbd2b0dd3dd6ce057c382a9dfd9a601ad31a..36f0dfd210af1d4a6b6df26d016ec71a5b3d973c 100644 --- a/core/java/src/net/i2p/util/ShellCommand.java +++ b/core/java/src/net/i2p/util/ShellCommand.java @@ -59,6 +59,7 @@ public class ShellCommand { this.consumeOutput = consumeOutput; } + @Override public void run() { _commandSuccessful = execute(shellCommand, consumeOutput, WAIT_FOR_EXIT_STATUS); if (_isTimerRunning) { @@ -90,6 +91,7 @@ public class ShellCommand { this.bufferedReader = new BufferedReader(inputStreamReader); } + @Override public void run() { String streamData; @@ -123,6 +125,7 @@ public class ShellCommand { this.bufferedReader = new BufferedReader(inputStreamReader); } + @Override public void run() { char[] buffer = new char[BUFFER_SIZE]; @@ -159,6 +162,7 @@ public class ShellCommand { this.bufferedWriter = new BufferedWriter(outputStreamWriter); } + @Override public void run() { String input; diff --git a/core/java/src/net/i2p/util/SocketTimeout.java b/core/java/src/net/i2p/util/SocketTimeout.java index 18a5db3dedfda90bd93c54e700e9c76c80e1ff96..65238dd0dcc7f82439ae573b16aa18f835447357 100644 --- a/core/java/src/net/i2p/util/SocketTimeout.java +++ b/core/java/src/net/i2p/util/SocketTimeout.java @@ -56,6 +56,7 @@ public class SocketTimeout implements SimpleTimer.TimedEvent { private static final SimpleDateFormat _fmt = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss.SSS"); private static String ts(long when) { synchronized (_fmt) { return _fmt.format(new Date(when)); } } + @Override public String toString() { StringBuffer buf = new StringBuffer(); buf.append("started on ");