Package org.jibx.schema.elements
Class FilteredSegmentList
java.lang.Object
java.util.AbstractCollection
java.util.AbstractList
org.jibx.schema.elements.FilteredSegmentList
- All Implemented Interfaces:
Iterable,Collection,List,SequencedCollection
Virtual list generated from a backing list by filtering on the element types.
This exposes a segment of the backing list through the filter, with multiple
filters used to expose the entire backing list piecemeal. It can only be used
with lists of elements.
- Author:
- Dennis M. Sosnoski
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intLast modify count matching cached values.private final LazyListBase list.private final longMask for element types to match in filter.private final OpenAttrBaseElement owning this list.private final FilteredSegmentListFilter for elements prior to this filter in list.private intCached size of filtered list.private intCached filtered list start index in base list.Fields inherited from class java.util.AbstractList
modCount -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateDummy default constructor for unmarshalling.FilteredSegmentList(LazyList list, long match, FilteredSegmentList prior, OpenAttrBase owner) Constructor with everything specified.FilteredSegmentList(LazyList list, long match, OpenAttrBase owner) Constructor with no prior filter. -
Method Summary
Modifier and TypeMethodDescriptionvoidget(int index) remove(int index) Removes the item at the index position.booleanprotected voidremoveRange(int from, int to) private voidUpdate modify count to show cached state is current.intsize()private voidsync()Synchronize filter to current list state.Methods inherited from class java.util.AbstractList
add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, subListMethods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, removeAll, retainAll, toArray, toArray, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.List
addAll, addFirst, addLast, contains, containsAll, getFirst, getLast, isEmpty, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, sort, spliterator, toArray, toArray
-
Field Details
-
m_list
Base list. -
m_matchBits
private final long m_matchBitsMask for element types to match in filter. -
m_prior
Filter for elements prior to this filter in list. -
m_owner
Element owning this list. -
m_lastModify
private int m_lastModifyLast modify count matching cached values. -
m_startIndex
private int m_startIndexCached filtered list start index in base list. -
m_size
private int m_sizeCached size of filtered list.
-
-
Constructor Details
-
FilteredSegmentList
private FilteredSegmentList()Dummy default constructor for unmarshalling. -
FilteredSegmentList
public FilteredSegmentList(LazyList list, long match, FilteredSegmentList prior, OpenAttrBase owner) Constructor with everything specified.- Parameters:
list- backing listmatch- included element types maskprior- filter which comes before this one (nullif none)owner- element owning this list
-
FilteredSegmentList
Constructor with no prior filter.- Parameters:
list- backing listmatch- included element types maskowner- element owning this list
-
-
Method Details
-
setModify
private void setModify()Update modify count to show cached state is current. This propagates to any prior filter(s). -
sync
private void sync()Synchronize filter to current list state. If the cached state is not current this updates the cached state to reflect the current state of the backing list. -
get
- Specified by:
getin interfaceList- Specified by:
getin classAbstractList
-
size
public int size()- Specified by:
sizein interfaceCollection- Specified by:
sizein interfaceList- Specified by:
sizein classAbstractCollection
-
add
- Specified by:
addin interfaceList- Overrides:
addin classAbstractList
-
remove
Removes the item at the index position.- Specified by:
removein interfaceList- Overrides:
removein classAbstractList- Parameters:
index-- Returns:
- removed item
-
remove
- Specified by:
removein interfaceCollection- Specified by:
removein interfaceList- Overrides:
removein classAbstractCollection
-
set
- Specified by:
setin interfaceList- Overrides:
setin classAbstractList
-
removeRange
protected void removeRange(int from, int to) - Overrides:
removeRangein classAbstractList
-