Class OTrackedSet<T>
java.lang.Object
java.util.AbstractCollection<T>
java.util.AbstractSet<T>
java.util.HashSet<T>
java.util.LinkedHashSet<T>
com.orientechnologies.orient.core.db.record.OTrackedSet<T>
- All Implemented Interfaces:
ORecordElement,OTrackedMultiValue<T,,T> Serializable,Cloneable,Iterable<T>,Collection<T>,SequencedCollection<T>,SequencedSet<T>,Set<T>
public class OTrackedSet<T>
extends LinkedHashSet<T>
implements ORecordElement, OTrackedMultiValue<T,T>, Serializable
Implementation of Set bound to a source ORecord object to keep track of changes. This avoid to
call the makeDirty() by hand when the set is changed.
- Author:
- Luca Garulli (l.garulli--(at)--orientdb.com)
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.orientechnologies.orient.core.db.record.ORecordElement
ORecordElement.STATUS -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionOTrackedSet(ORecordElement iSourceRecord) OTrackedSet(ORecordElement iRecord, Collection<? extends T> iOrigin, Class<?> cls) -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanaddAll(Collection<? extends T> c) booleanaddInternal(T e) voidclear()voiddisableTracking(ORecordElement document) voidenableTracking(ORecordElement parent) Class<?> getOwner()booleanbooleaniterator()booleanvoidreplace(OMultiValueChangeEvent<Object, Object> event, Object newValue) returnOriginalState(List<OMultiValueChangeEvent<T, T>> multiValueChangeEvents) Reverts all operations that were performed on collection and return original collection state.setDirty()Marks the instance as dirty.voidvoidMethods inherited from class java.util.LinkedHashSet
addFirst, addLast, getFirst, getLast, newLinkedHashSet, removeFirst, removeLast, reversed, spliteratorMethods inherited from class java.util.HashSet
clone, contains, isEmpty, newHashSet, size, toArray, toArrayMethods inherited from class java.util.AbstractSet
equals, hashCode, removeAllMethods inherited from class java.util.AbstractCollection
containsAll, retainAll, toStringMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Field Details
-
sourceRecord
-
genericClass
-
-
Constructor Details
-
OTrackedSet
-
OTrackedSet
-
-
Method Details
-
getOwner
- Specified by:
getOwnerin interfaceORecordElement- Returns:
- Returns record element which contains given one.
-
iterator
-
addAll
- Specified by:
addAllin interfaceCollection<T>- Specified by:
addAllin interfaceSet<T>- Overrides:
addAllin classAbstractCollection<T>
-
add
-
addInternal
- Specified by:
addInternalin interfaceOTrackedMultiValue<T,T>
-
remove
-
clear
public void clear() -
setDirty
Description copied from interface:ORecordElementMarks the instance as dirty. The dirty status could be propagated up if the implementation supports ownership concept.- Specified by:
setDirtyin interfaceORecordElement- Returns:
- The object it self. Useful to call methods in chain.
-
setDirtyNoChanged
public void setDirtyNoChanged()- Specified by:
setDirtyNoChangedin interfaceORecordElement
-
returnOriginalState
Description copied from interface:OTrackedMultiValueReverts all operations that were performed on collection and return original collection state.- Specified by:
returnOriginalStatein interfaceOTrackedMultiValue<T,T> - Parameters:
multiValueChangeEvents- List of operations that were performed on collection.- Returns:
- Original collection state.
-
getGenericClass
- Specified by:
getGenericClassin interfaceOTrackedMultiValue<T,T>
-
replace
- Specified by:
replacein interfaceOTrackedMultiValue<T,T>
-
enableTracking
- Specified by:
enableTrackingin interfaceOTrackedMultiValue<T,T>
-
disableTracking
- Specified by:
disableTrackingin interfaceOTrackedMultiValue<T,T>
-
transactionClear
public void transactionClear()- Specified by:
transactionClearin interfaceOTrackedMultiValue<T,T>
-
isModified
public boolean isModified()- Specified by:
isModifiedin interfaceOTrackedMultiValue<T,T>
-
isTransactionModified
public boolean isTransactionModified()- Specified by:
isTransactionModifiedin interfaceOTrackedMultiValue<T,T>
-
getTimeLine
- Specified by:
getTimeLinein interfaceOTrackedMultiValue<T,T>
-
getTransactionTimeLine
- Specified by:
getTransactionTimeLinein interfaceOTrackedMultiValue<T,T>
-