org.navimatrix.commons.concurrent.DefaultChannelCapacity Maven / Gradle / Ivy
/*
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 org.navimatrix.commons.concurrent;
//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
* [ Introduction to this package. ]
**/
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 INITIAL_DEFAULT_CAPACITY
* @see #INITIAL_DEFAULT_CAPACITY
*/
public static int get() {
return defaultCapacity_.get();
}
}