Package com.vladsch.flexmark.util.data
Class DataSet
- java.lang.Object
-
- com.vladsch.flexmark.util.data.DataSet
-
- All Implemented Interfaces:
DataHolder,MutableDataSetter
- Direct Known Subclasses:
MutableDataSet,ScopedDataSet
public class DataSet extends Object implements DataHolder
-
-
Field Summary
Fields Modifier and Type Field Description protected HashMap<DataKeyBase<?>,Object>dataSet-
Fields inherited from interface com.vladsch.flexmark.util.data.DataHolder
NULL
-
-
Constructor Summary
Constructors Constructor Description DataSet()DataSet(@Nullable DataHolder other)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull DataHolderaggregate()Apply aggregate action to data and return resultstatic @NotNull DataHolderaggregate(@Nullable DataHolder other, @Nullable DataHolder overrides)Aggregate two sets of options by aggregating their aggregate action keys then applying those actions on the resulting collectionstatic @NotNull DataHolderaggregateActions(@NotNull DataHolder other, @NotNull DataHolder overrides)aggregate actions of two data sets, actions not appliedbooleancontains(@NotNull DataKeyBase<?> key)booleanequals(Object o)@NotNull Map<? extends DataKeyBase<?>,Object>getAll()@NotNull Collection<? extends DataKeyBase<?>>getKeys()@Nullable ObjectgetOrCompute(@NotNull DataKeyBase<?> key, @NotNull DataValueFactory<?> factory)Get key if it exists or compute using supplierinthashCode()static @NotNull DataSetmerge(@NotNull DataHolder... dataHolders)static voidregisterDataKeyAggregator(@NotNull DataKeyAggregator keyAggregator)@NotNull DataSettoDataSet()@NotNull DataSettoImmutable()@NotNull MutableDataSettoMutable()StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.vladsch.flexmark.util.data.DataHolder
get, setIn
-
-
-
-
Field Detail
-
dataSet
protected final HashMap<DataKeyBase<?>,Object> dataSet
-
-
Constructor Detail
-
DataSet
public DataSet()
-
DataSet
public DataSet(@Nullable @Nullable DataHolder other)
-
-
Method Detail
-
aggregateActions
@NotNull public static @NotNull DataHolder aggregateActions(@NotNull @NotNull DataHolder other, @NotNull @NotNull DataHolder overrides)
aggregate actions of two data sets, actions not applied- Parameters:
other- first set of optionsoverrides- overrides on options- Returns:
- resulting options where aggregate action keys were aggregated but not applied
-
aggregate
@NotNull public @NotNull DataHolder aggregate()
Apply aggregate action to data and return result- Returns:
- resulting data holder
-
aggregate
@NotNull public static @NotNull DataHolder aggregate(@Nullable @Nullable DataHolder other, @Nullable @Nullable DataHolder overrides)
Aggregate two sets of options by aggregating their aggregate action keys then applying those actions on the resulting collection- Parameters:
other- options with aggregate actions already applied, no aggregate action keys are expected or checkedoverrides- overrides which may contain aggregate actions- Returns:
- resulting options with aggregate actions applied and removed from set
-
getAll
@NotNull public @NotNull Map<? extends DataKeyBase<?>,Object> getAll()
- Specified by:
getAllin interfaceDataHolder
-
getKeys
@NotNull public @NotNull Collection<? extends DataKeyBase<?>> getKeys()
- Specified by:
getKeysin interfaceDataHolder
-
contains
public boolean contains(@NotNull @NotNull DataKeyBase<?> key)- Specified by:
containsin interfaceDataHolder
-
getOrCompute
@Nullable public @Nullable Object getOrCompute(@NotNull @NotNull DataKeyBase<?> key, @NotNull @NotNull DataValueFactory<?> factory)
Description copied from interface:DataHolderGet key if it exists or compute using supplierMethod used by DataKey classes to access data.
NOTE: MutableDataHolders will compute an absent key and add it to its dataSet. DataHolders will return computed value but not change contained dataSet because they are immutable. So value will be computed every time it is requested.
- Specified by:
getOrComputein interfaceDataHolder- Parameters:
key- data keyfactory- factory taking this data holder and computing/providing default value- Returns:
- object value for the key
-
merge
@NotNull public static @NotNull DataSet merge(@NotNull @NotNull DataHolder... dataHolders)
-
toMutable
@NotNull public @NotNull MutableDataSet toMutable()
- Specified by:
toMutablein interfaceDataHolder
-
toImmutable
@NotNull public @NotNull DataSet toImmutable()
- Specified by:
toImmutablein interfaceDataHolder
-
toDataSet
@NotNull public @NotNull DataSet toDataSet()
- Specified by:
toDataSetin interfaceDataHolder
-
registerDataKeyAggregator
public static void registerDataKeyAggregator(@NotNull @NotNull DataKeyAggregator keyAggregator)
-
-