Class BuilderBase<T extends BuilderBase<T>>
- java.lang.Object
-
- com.vladsch.flexmark.util.data.DataSet
-
- com.vladsch.flexmark.util.data.MutableDataSet
-
- com.vladsch.flexmark.util.builder.BuilderBase<T>
-
- All Implemented Interfaces:
DataHolder
,MutableDataHolder
,MutableDataSetter
- Direct Known Subclasses:
DocxRenderer.Builder
,FlexmarkHtmlConverter.Builder
,Formatter.Builder
,HtmlRenderer.Builder
,Parser.Builder
public abstract class BuilderBase<T extends BuilderBase<T>> extends MutableDataSet
-
-
Field Summary
-
Fields inherited from interface com.vladsch.flexmark.util.data.DataHolder
NULL
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BuilderBase()
protected
BuilderBase(DataHolder options)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
addExtensionApiPoint(java.lang.Object apiPoint)
Call to add extension API point to trackabstract java.lang.Object
build()
T
extensions(java.util.Collection<? extends Extension> extensions)
<V> V
get(DataKey<V> key)
Deprecated.use key.get(dataHolder) instead, which will do the same thing an carries nullable information for the dataprotected abstract boolean
loadExtension(Extension extension)
Load extension if it is validprotected void
loadExtensions()
protected abstract void
preloadExtension(Extension extension)
Preload operation for extension, perform any data config and other operation needed for loading extensionprotected abstract void
removeApiPoint(java.lang.Object apiPoint)
Remove apiPoint from state informationstatic DataHolder
removeExtensions(DataHolder options, java.util.Collection<java.lang.Class<? extends Extension>> excludeExtensions)
Remove given extensions from options[EXTENSIONS] data key.<V> MutableDataSet
set(DataKey<V> key, V value)
Tracks keys set by extension initialization<V> MutableDataSet
set(NullableDataKey<V> key, V value)
Store the given value for the key-
Methods inherited from class com.vladsch.flexmark.util.data.MutableDataSet
clear, getOrCompute, merge, remove, setAll, setFrom, setIn, toDataSet, toImmutable, toMutable
-
Methods inherited from class com.vladsch.flexmark.util.data.DataSet
aggregate, aggregate, aggregateActions, contains, equals, getAll, getKeys, hashCode, registerDataKeyAggregator, toString
-
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
contains, getAll, getKeys
-
-
-
-
Constructor Detail
-
BuilderBase
protected BuilderBase(@Nullable DataHolder options)
-
BuilderBase
protected BuilderBase()
-
-
Method Detail
-
removeApiPoint
protected abstract void removeApiPoint(@NotNull java.lang.Object apiPoint)
Remove apiPoint from state information- Parameters:
apiPoint
- api point object
-
preloadExtension
protected abstract void preloadExtension(@NotNull Extension extension)
Preload operation for extension, perform any data config and other operation needed for loading extension- Parameters:
extension
- to preload
-
loadExtension
protected abstract boolean loadExtension(@NotNull Extension extension)
Load extension if it is valid- Parameters:
extension
- to load- Returns:
- true if extension was loaded
-
extensions
@NotNull public final T extensions(@NotNull java.util.Collection<? extends Extension> extensions)
- Parameters:
extensions
- extensions to load- Returns:
this
-
build
@NotNull public abstract java.lang.Object build()
- Returns:
- actual instance the builder is supposed to build
-
addExtensionApiPoint
protected void addExtensionApiPoint(@NotNull java.lang.Object apiPoint)
Call to add extension API point to track- Parameters:
apiPoint
- point registered
-
set
@NotNull public <V> MutableDataSet set(@NotNull DataKey<V> key, @NotNull V value)
Tracks keys set by extension initialization- Specified by:
set
in interfaceMutableDataHolder
- Overrides:
set
in classMutableDataSet
- Type Parameters:
V
- data type of the data referred by the key- Parameters:
key
- data keyvalue
- value for the key- Returns:
- builder
-
set
@NotNull public <V> MutableDataSet set(@NotNull NullableDataKey<V> key, @Nullable V value)
Description copied from interface:MutableDataHolder
Store the given value for the key- Specified by:
set
in interfaceMutableDataHolder
- Overrides:
set
in classMutableDataSet
- Type Parameters:
V
- data type of the data referred by the key- Parameters:
key
- data keyvalue
- value to store- Returns:
- mutable data holder for chained calls
-
get
@Deprecated public <V> V get(@NotNull DataKey<V> key)
Deprecated.use key.get(dataHolder) instead, which will do the same thing an carries nullable information for the dataGet the given key, if it does not exist then use the key's factory to create a new value and put it into the collection so that the following get of the same key will find a value- Type Parameters:
V
- Type returned by key- Parameters:
key
- data key- Returns:
- return stored value or newly created value
-
loadExtensions
protected void loadExtensions()
-
removeExtensions
public static DataHolder removeExtensions(@NotNull DataHolder options, @NotNull java.util.Collection<java.lang.Class<? extends Extension>> excludeExtensions)
Remove given extensions from options[EXTENSIONS] data key.- Parameters:
options
- options where EXTENSIONS key is setexcludeExtensions
- collection of extension classes to remove from extensions- Returns:
- modified options if removed and options were immutable or the same options if nothing to remove or options were mutable.
-
-