|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Interface Summary | |
|---|---|
| TransactionalCollection<E> | A Transactional version of the Collection interface. |
| TransactionalDeque<E> | A Transactional version of the BlockingDeque interface. |
| TransactionalList<E> | A TransactionalCollection that implements the List
interface. |
| TransactionalMap<K,V> | A Transactional version of the ConcurrentMap. |
| TransactionalQueue<E> | A transactional BlockingQueue interface. |
| TransactionalSet<E> | A Transactional version of the Set interface. |
| Class Summary | |
|---|---|
| AbstractTransactionalDeque<E> | An abtract TransactionalDeque implementation. |
| TransactionalArrayList<E> | A TransactionalList based on a (transactional) array. |
| TransactionalLinkedList<E> | A general purposes collection structure that could be considered a work horse because it implements a lot of
interfaces:
Iterable
Collection
List
Queue
BlockingQueue
Deque
BlockingDeque
Each operation on this TransactionalLinkedList is transactional by default, and of course can participate in already
running transactions. |
| TransactionalLinkedList.Node<E> | |
This package contains datastructures like queues and maps written to be used in STM transactions. The idea is to provide transactional implementations of the java collection framework interfaces. Also an additional interface is introduced for transactional collections that extend the original one. Using this transactional interface instead of the original one clearly indicates to a developer that an object of this type is transactional. Another advantage is that the instrumentation is able to do a instrumentation improvements.
Since Multiverse 0.5 it is possible to add annotations on interfaces so that they are used at the implementation. This is one of the things I normally hate with annotations because they don't inherit; well in Multiverse they do. A practical example of this ugly ness is the transaction support in Spring where you need to define the transaction settings on the implementation instead of the interface.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||