Package org.aksw.jenax.arq.dataset.diff
Class TransactionalCollectionImpl<T,C extends Collection<T>>
java.lang.Object
java.util.AbstractCollection<T>
org.aksw.jenax.arq.dataset.diff.TransactionalCollectionImpl<T,C>
- Type Parameters:
T-C-
- All Implemented Interfaces:
Iterable<T>,Collection<T>,TransactionalCollection<T>,org.apache.jena.sparql.core.Transactional
- Direct Known Subclasses:
TransactionalSetImpl
public class TransactionalCollectionImpl<T,C extends Collection<T>>
extends AbstractCollection<T>
implements TransactionalCollection<T>
A wrapper for a collection that provides transactions using MRSW locking.
Also uses copy-on-write; i.e. the thread with the write transaction creates a full
copy of the underlying collection - which is far from optimal.
- Author:
- raven
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classTransactionalCollectionImpl.TxnState<T,C extends Collection<T>> Nested classes/interfaces inherited from interface org.apache.jena.sparql.core.Transactional
org.apache.jena.sparql.core.Transactional.Promote -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AtomicReference<C>protected ThreadLocal<TransactionalCollectionImpl.TxnState<T,C>> -
Constructor Summary
ConstructorsConstructorDescriptionTransactionalCollectionImpl(C baseCollection, Function<? super C, ? extends C> cloner) -
Method Summary
Modifier and TypeMethodDescriptionvoidabort()booleanvoidbegin(org.apache.jena.query.ReadWrite readWrite) voidbegin(org.apache.jena.query.TxnType txnType) voidcommit()booleanvoidend()booleaniterator()protected <X,R> R booleanpromote(org.apache.jena.sparql.core.Transactional.Promote promoteMode) intsize()org.apache.jena.query.ReadWriteorg.apache.jena.query.TxnTypeMethods inherited from class java.util.AbstractCollection
addAll, clear, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
addAll, clear, containsAll, equals, hashCode, isEmpty, parallelStream, remove, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArrayMethods inherited from interface org.apache.jena.sparql.core.Transactional
begin, calc, calculate, calculateRead, calculateWrite, exec, execute, executeRead, executeWrite, promote
-
Field Details
-
master
-
txnState
-
cloner
-
-
Constructor Details
-
TransactionalCollectionImpl
-
-
Method Details
-
commit
public void commit()- Specified by:
commitin interfaceorg.apache.jena.sparql.core.Transactional
-
abort
public void abort()- Specified by:
abortin interfaceorg.apache.jena.sparql.core.Transactional
-
end
public void end()- Specified by:
endin interfaceorg.apache.jena.sparql.core.Transactional
-
begin
public void begin(org.apache.jena.query.ReadWrite readWrite) - Specified by:
beginin interfaceorg.apache.jena.sparql.core.Transactional
-
begin
public void begin(org.apache.jena.query.TxnType txnType) - Specified by:
beginin interfaceorg.apache.jena.sparql.core.Transactional
-
promote
public boolean promote(org.apache.jena.sparql.core.Transactional.Promote promoteMode) - Specified by:
promotein interfaceorg.apache.jena.sparql.core.Transactional
-
transactionMode
public org.apache.jena.query.ReadWrite transactionMode()- Specified by:
transactionModein interfaceorg.apache.jena.sparql.core.Transactional
-
transactionType
public org.apache.jena.query.TxnType transactionType()- Specified by:
transactionTypein interfaceorg.apache.jena.sparql.core.Transactional
-
isInTransaction
public boolean isInTransaction()- Specified by:
isInTransactionin interfaceorg.apache.jena.sparql.core.Transactional
-
mutate
-
add
- Specified by:
addin interfaceCollection<T>- Overrides:
addin classAbstractCollection<T>
-
iterator
- Specified by:
iteratorin interfaceCollection<T>- Specified by:
iteratorin interfaceIterable<T>- Specified by:
iteratorin classAbstractCollection<T>
-
contains
- Specified by:
containsin interfaceCollection<T>- Overrides:
containsin classAbstractCollection<T>
-
size
public int size()- Specified by:
sizein interfaceCollection<T>- Specified by:
sizein classAbstractCollection<T>
-