org.apache.excalibur.event.impl
Class LossyMultiCastSink

java.lang.Object
  extended by org.apache.excalibur.event.impl.LossyMultiCastSink
All Implemented Interfaces:
org.apache.excalibur.event.Sink

public class LossyMultiCastSink
extends java.lang.Object
implements org.apache.excalibur.event.Sink

This is a org.apache.excalibur.event.seda.event.Sink implementation that multicasts enqueue operations to the contained and concrete sink objects. Compared to the regular org.apache.excalibur.event.seda.event.impl.MultiCastSink this sink works in that it delivers zero, one or more sinks. It can be configured to fail when less than one sink was delivered to.

Version:
$Revision: 1.4 $
Author:
Avalon Development Team

Field Summary
 
Fields inherited from interface org.apache.excalibur.event.Sink
ROLE
 
Constructor Summary
LossyMultiCastSink(java.util.Collection sinks)
          This constructor creates a failure tolerant sink based on the collection of sink arrays.
LossyMultiCastSink(java.util.Collection sinks, boolean oneSuccess)
          This constructor creates a failure tolerant sink based on the collection of sink arrays.
 
Method Summary
 int canAccept()
           
 void enqueue(java.lang.Object element)
           
 void enqueue(java.lang.Object[] elements)
           
 boolean isFull()
           
 int maxSize()
           
 org.apache.excalibur.event.PreparedEnqueue prepareEnqueue(java.lang.Object[] elements)
           
 int size()
           
 boolean tryEnqueue(java.lang.Object element)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LossyMultiCastSink

public LossyMultiCastSink(java.util.Collection sinks)
This constructor creates a failure tolerant sink based on the collection of sink arrays. None of the enqueue operations must succeed.

Parameters:
sinks - A collection of sink arrays for each stage.
Since:
May 16, 2002

LossyMultiCastSink

public LossyMultiCastSink(java.util.Collection sinks,
                          boolean oneSuccess)
This constructor creates a failure tolerant sink based on the collection of sink arrays. The additional boolean flag describes whether at least one or none of the enqueue operations must succeed.

Parameters:
sinks - A collection of sink arrays for each stage.
Since:
May 16, 2002
Method Detail

canAccept

public int canAccept()
Specified by:
canAccept in interface org.apache.excalibur.event.Sink
See Also:
Sink.canAccept()

isFull

public boolean isFull()
Specified by:
isFull in interface org.apache.excalibur.event.Sink
See Also:
Sink.isFull()

maxSize

public int maxSize()
Specified by:
maxSize in interface org.apache.excalibur.event.Sink
See Also:
Sink.maxSize()

enqueue

public void enqueue(java.lang.Object element)
             throws org.apache.excalibur.event.SinkException
Specified by:
enqueue in interface org.apache.excalibur.event.Sink
Throws:
org.apache.excalibur.event.SinkException
See Also:
Sink.enqueue(Object)

enqueue

public void enqueue(java.lang.Object[] elements)
             throws org.apache.excalibur.event.SinkException
Specified by:
enqueue in interface org.apache.excalibur.event.Sink
Throws:
org.apache.excalibur.event.SinkException
See Also:
Sink.enqueue(Object[])

tryEnqueue

public boolean tryEnqueue(java.lang.Object element)
Specified by:
tryEnqueue in interface org.apache.excalibur.event.Sink
See Also:
Sink.tryEnqueue(Object)

prepareEnqueue

public org.apache.excalibur.event.PreparedEnqueue prepareEnqueue(java.lang.Object[] elements)
                                                          throws org.apache.excalibur.event.SinkException
Specified by:
prepareEnqueue in interface org.apache.excalibur.event.Sink
Throws:
org.apache.excalibur.event.SinkException
See Also:
Sink.prepareEnqueue(Object[])

size

public int size()
Specified by:
size in interface org.apache.excalibur.event.Sink
See Also:
Sink.size()


Copyright © 2010 Apache Software Foundation. All Rights Reserved.