Package org.multiverse.transactional.collections

This package contains datastructures like queues and maps written to be used in STM transactions.

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>  
 

Package org.multiverse.transactional.collections Description

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.



Copyright © 2008-2010 Multiverse. All Rights Reserved.