I like this idea, and can see no problems with implementation. Would you like to code it up as a new interface and patches to existing files (from CVS head) ? Its the best way to get it included ;-)
In addition you could add convenience static methods to BufferUtils to do this code public static boolean isFull(Buffer buffer) { if (myBuffer instanceof BoundedCollection) bufferFull=((BoundedCollection)myBuffer).isFull(); else bufferFull=false; // as long as there is some free memory left } (and also maxsize) Stephen ----- Original Message ----- From: "Herve Quiroz" <[EMAIL PROTECTED]> > I have recently switched to the Jakarta Commons Collections 2.1 library. I > am mostly using it for Buffer implementations as I am working on a network > simulator using queues of messages. Unfortunately there is no method to > know if a buffer is full other than adding an object and catching a > BufferOverflowException... Which is quite annoying for me as the simulator > should only simulate the latency from some data tranfer only if the target > buffer is not full. And I can't predict if a given buffer will a bounded > one or not (depending on the scenario used for simulation). > > So, I was planning on coding some utils to test whether a buffer is full > or not. But then I thought of another alternative, the BoundedCollection > interface : > > public interface BoundedCollection extends java.util.Collection > { > public boolean isFull(); > public int maxSize(); > } > > ... of course implemented by the BoundedBuffer class. > > So to test if a buffer if full : > > if (myBuffer instanceof BoundedCollection) > { > bufferFull=((BoundedCollection)myBuffer).isFull(); > } > else > { > bufferFull=false; // as long as there is some free memory left > } > > Maybe I am just reinventing the wheel but if someone as a > {cheap,quick,simple} solution, please tell me. I had my own queue library > working until I changed all my sources to use commons-collections just to > realize I am stuck with this issue. > > Regards > > > Herve Quiroz > > > -- > To unsubscribe, e-mail: <mailto:commons-dev-unsubscribe@;jakarta.apache.org> > For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org> > -- To unsubscribe, e-mail: <mailto:commons-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>