Mercurial > hg > blitz_condensed
diff src/EDU/oswego/cs/dl/util/concurrent/DefaultChannelCapacity.java @ 0:3dc0c5604566
Initial checkin of blitz 2.0 fcs - no installer yet.
author | Dan Creswell <dan.creswell@gmail.com> |
---|---|
date | Sat, 21 Mar 2009 11:00:06 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/EDU/oswego/cs/dl/util/concurrent/DefaultChannelCapacity.java Sat Mar 21 11:00:06 2009 +0000 @@ -0,0 +1,54 @@ +/* + File: DefaultChannelCapacity.java + + Originally written by Doug Lea and released into the public domain. + This may be used for any purposes whatsoever without acknowledgment. + Thanks for the assistance and support of Sun Microsystems Labs, + and everyone contributing, testing, and using this code. + + History: + Date Who What + 11Jun1998 dl Create public version +*/ + +package EDU.oswego.cs.dl.util.concurrent; + +/** + * A utility class to set the default capacity of + * BoundedChannel + * implementations that otherwise require a capacity argument + * @see BoundedChannel + * [<a href="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html"> Introduction to this package. </a>] <p> + **/ + +public class DefaultChannelCapacity { + + /** The initial value of the default capacity is 1024 **/ + public static final int INITIAL_DEFAULT_CAPACITY = 1024; + + /** the current default capacity **/ + private static final SynchronizedInt defaultCapacity_ = + new SynchronizedInt(INITIAL_DEFAULT_CAPACITY); + + /** + * Set the default capacity used in + * default (no-argument) constructor for BoundedChannels + * that otherwise require a capacity argument. + * @exception IllegalArgumentException if capacity less or equal to zero + */ + public static void set(int capacity) { + if (capacity <= 0) throw new IllegalArgumentException(); + defaultCapacity_.set(capacity); + } + + /** + * Get the default capacity used in + * default (no-argument) constructor for BoundedChannels + * that otherwise require a capacity argument. + * Initial value is <code>INITIAL_DEFAULT_CAPACITY</code> + * @see #INITIAL_DEFAULT_CAPACITY + */ + public static int get() { + return defaultCapacity_.get(); + } +}