Package org.apache.iotdb.commons.path
Class PatternTreeMap<V,VSerializer extends PathPatternNode.Serializer<V>>
- java.lang.Object
-
- org.apache.iotdb.commons.path.PatternTreeMap<V,VSerializer>
-
@NotThreadSafe public class PatternTreeMap<V,VSerializer extends PathPatternNode.Serializer<V>> extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description PatternTreeMap(java.util.function.Supplier<? extends java.util.Set<V>> supplier, java.util.function.BiConsumer<V,java.util.Set<V>> appendFunction, java.util.function.BiConsumer<V,java.util.Set<V>> deleteFunction, VSerializer serializer)Create PatternTreeMap.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappend(PartialPath key, V value)Append key and value to PatternTreeMap.voiddelete(PartialPath key, V value)Delete key and value to PatternTreeMap.java.util.List<V>getOverlapped(PartialPath fullPath)Get value list related to PathPattern that overlapped with fullPath.java.util.List<java.util.List<V>>getOverlapped(PartialPath devicePath, java.util.List<java.lang.String> measurements)Get a list of value lists related to PathPattern that overlapped with measurements under the same device.
-
-
-
Constructor Detail
-
PatternTreeMap
public PatternTreeMap(java.util.function.Supplier<? extends java.util.Set<V>> supplier, java.util.function.BiConsumer<V,java.util.Set<V>> appendFunction, java.util.function.BiConsumer<V,java.util.Set<V>> deleteFunction, VSerializer serializer)
Create PatternTreeMap.- Parameters:
supplier- provide type of set to store values on PathPatternNodeappendFunction- define the merge logic of append valuedeleteFunction- define the split logic of delete value
-
-
Method Detail
-
append
public void append(PartialPath key, V value)
Append key and value to PatternTreeMap.- Parameters:
key- PartialPath that can contain '*' or '**'value- The value to be appended
-
delete
public void delete(PartialPath key, V value)
Delete key and value to PatternTreeMap.- Parameters:
key- PartialPath that can contain '*' or '**'value- The value to be deleted
-
getOverlapped
public java.util.List<V> getOverlapped(PartialPath fullPath)
Get value list related to PathPattern that overlapped with fullPath.- Parameters:
fullPath- full path without wildcard- Returns:
- de-duplicated value list
-
getOverlapped
public java.util.List<java.util.List<V>> getOverlapped(PartialPath devicePath, java.util.List<java.lang.String> measurements)
Get a list of value lists related to PathPattern that overlapped with measurements under the same device.- Parameters:
devicePath- device path without wildcardmeasurements- list of measurements- Returns:
- de-duplicated value list
-
-