Class GroupedSet<GroupingValueType,GroupedKeyType,WholeKeyType>
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.rete.aggregation.GroupedSet<GroupingValueType,GroupedKeyType,WholeKeyType>
-
- All Implemented Interfaces:
java.lang.Iterable<WholeKeyType>,java.util.Collection<WholeKeyType>,java.util.Set<WholeKeyType>
public class GroupedSet<GroupingValueType,GroupedKeyType,WholeKeyType> extends java.lang.Object implements java.util.Set<WholeKeyType>An optimizedSetimplementation where each contained value is produced by combining together a grouping value and some other (key) object. The way of combining together these two values is specified by the closure passed to the constructor. Only a select fewSetoperations are supported. This collection is unmodifiable.- Since:
- 2.4
-
-
Field Summary
Fields Modifier and Type Field Description protected GroupingValueTypegroupprotected java.util.function.BiFunction<GroupingValueType,GroupedKeyType,WholeKeyType>valueFuncprotected java.util.Collection<GroupedKeyType>values
-
Constructor Summary
Constructors Constructor Description GroupedSet(GroupingValueType group, java.util.Collection<GroupedKeyType> values, java.util.function.BiFunction<GroupingValueType,GroupedKeyType,WholeKeyType> valueFunc)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(WholeKeyType tuple)booleanaddAll(java.util.Collection<? extends WholeKeyType> coll)voidclear()booleancontains(java.lang.Object obj)booleancontainsAll(java.util.Collection<?> c)booleanisEmpty()java.util.Iterator<WholeKeyType>iterator()booleanremove(java.lang.Object obj)booleanremoveAll(java.util.Collection<?> coll)booleanretainAll(java.util.Collection<?> coll)intsize()java.lang.Object[]toArray()<T> T[]toArray(T[] arr)
-
-
-
Field Detail
-
group
protected final GroupingValueType group
-
values
protected final java.util.Collection<GroupedKeyType> values
-
valueFunc
protected final java.util.function.BiFunction<GroupingValueType,GroupedKeyType,WholeKeyType> valueFunc
-
-
Constructor Detail
-
GroupedSet
public GroupedSet(GroupingValueType group, java.util.Collection<GroupedKeyType> values, java.util.function.BiFunction<GroupingValueType,GroupedKeyType,WholeKeyType> valueFunc)
-
-
Method Detail
-
size
public int size()
- Specified by:
sizein interfacejava.util.Collection<GroupingValueType>- Specified by:
sizein interfacejava.util.Set<GroupingValueType>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Collection<GroupingValueType>- Specified by:
isEmptyin interfacejava.util.Set<GroupingValueType>
-
contains
public boolean contains(java.lang.Object obj)
- Specified by:
containsin interfacejava.util.Collection<GroupingValueType>- Specified by:
containsin interfacejava.util.Set<GroupingValueType>
-
iterator
public java.util.Iterator<WholeKeyType> iterator()
- Specified by:
iteratorin interfacejava.util.Collection<GroupingValueType>- Specified by:
iteratorin interfacejava.lang.Iterable<GroupingValueType>- Specified by:
iteratorin interfacejava.util.Set<GroupingValueType>
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArrayin interfacejava.util.Collection<GroupingValueType>- Specified by:
toArrayin interfacejava.util.Set<GroupingValueType>
-
toArray
public <T> T[] toArray(T[] arr)
- Specified by:
toArrayin interfacejava.util.Collection<GroupingValueType>- Specified by:
toArrayin interfacejava.util.Set<GroupingValueType>
-
add
public boolean add(WholeKeyType tuple)
- Specified by:
addin interfacejava.util.Collection<GroupingValueType>- Specified by:
addin interfacejava.util.Set<GroupingValueType>
-
remove
public boolean remove(java.lang.Object obj)
- Specified by:
removein interfacejava.util.Collection<GroupingValueType>- Specified by:
removein interfacejava.util.Set<GroupingValueType>
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
- Specified by:
containsAllin interfacejava.util.Collection<GroupingValueType>- Specified by:
containsAllin interfacejava.util.Set<GroupingValueType>
-
addAll
public boolean addAll(java.util.Collection<? extends WholeKeyType> coll)
- Specified by:
addAllin interfacejava.util.Collection<GroupingValueType>- Specified by:
addAllin interfacejava.util.Set<GroupingValueType>
-
retainAll
public boolean retainAll(java.util.Collection<?> coll)
- Specified by:
retainAllin interfacejava.util.Collection<GroupingValueType>- Specified by:
retainAllin interfacejava.util.Set<GroupingValueType>
-
removeAll
public boolean removeAll(java.util.Collection<?> coll)
- Specified by:
removeAllin interfacejava.util.Collection<GroupingValueType>- Specified by:
removeAllin interfacejava.util.Set<GroupingValueType>
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Collection<GroupingValueType>- Specified by:
clearin interfacejava.util.Set<GroupingValueType>
-
-