net.sf.asyncobjects
Interface ExplicitSharing

All Known Implementing Classes:
All, Any, AsyncProcess.ProcessWhen, AsyncUnicastServer, BoundedByteInput, BoundedInput, BoundedTextInput, BufferedByteChannel, BufferedByteInput, BufferedByteOutput, BufferedInput, BufferedOutput, BufferedTextChannel, BufferedTextInput, BufferedTextOutput, BytePipe, BytePipe.InternalBytePipeInput, BytePipe.InternalBytePipeOutput, CallableAdapter, CallableAdapter.InternalCallableAdapter, CloseableWrapper, CloseableWrapper.InvalidatingWhen, Compensated, CompensatedClosable, DecoderTextInput, EncoderTextOutput, ExhaustingByteInput, ExhaustingInput, ExhaustingTextInput, GeneratingInput, InputStreamAdapter, ListenerAdapter, ListenerAdapter.InternalListenerAdapter, MapperAdapter, MapperAdapter.InternalMapperAdapter, MulticastByteOutput, MulticastOutput, MulticastTextOutput, NIOServerSocket, NIOSocket, NIOSocketFactory, NIOSocketInputStream, NIOSocketOutputStream, NIOStream, NulByteInput, NulInput, NulTextInput, OutputStreamAdapter, Pipe, Pipe.InternalPipeInput, Pipe.InternalPipeOutput, Promise, Promise.InternalPromiseResolverImpl, Queue, RandomByteInput, RandomTextInput, RecordingByteOutput, RecordingOutput, RecordingTextOutput, RepeatingByteInput, RepeatingInput, RepeatingTextInput, RunDispatcher, RunnableAdapter, RunnableAdapter.InternalRunnableAdapter, SavingByteInput, SavingInput, SavingTextInput, Semaphore, Seq, Serialized, TextPipe, TextPipe.InternalTextPipeInput, TextPipe.InternalTextPipeOutput, TimerTaskAdapter, TimerTaskAdapter.InternalTimerTask, TimerWrapper, TServerSocket, TSocket, TSocket.TInputStreamAdapter, TSocket.TOutputStreamAdapter, TSocketFactory, UncloseableByteInput, UncloseableInput, UncloseableTextInput, Using, When, When.InternalArgumentListener, When.InternalBodyPromiseResolver, When.InternalFinallyListenerAfterFault, When.InternalFinallyListenerAfterSuccess, When.InternalResultPromiseResolver, WrappingChannel

public interface ExplicitSharing

This marker interface marks objects that should be always shared explicitiyly wrapped into Shared object. This interface marks objects that are not supposed to be shared, but which might be accidentially shared due to developer's mistakes.

If promise receives such object from resolver, it is smashed with the fault instead. The proxy implementation also checks for such objects.

Author:
const



Copyright 2002-2007 Constantine Plotnikov. All Rights Reserved.