Interface PlaceholderComponent
- All Superinterfaces:
ComponentLike
ComponentLike that can be used in Component building methods
that represents a placeholder in text.
A PlaceholderComponent is the collection of a
PlaceholderParser along with contextual data in the supplied
PlaceholderContext, enabling its use in a Component object.
Such placeholders will generally be built from tokenized strings, however these objects make no assumption about the format of text templating. Such a system can therefore be used by other templating engines without conforming to a particular standard.
The PlaceholderContext is fixed when this object is created, but
PlaceholderParser.parse(PlaceholderContext) is not called until
asComponent() is called. Thus, any Component object that is
created will reflect the time that the Component object was
requested, and not when this object itself was created. It therefore follows
that implementations must not cache the result of asComponent()
unless it is known that the supplied parser is not sensitive
to the time of invocation.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA builder forPlaceholderComponentobjects. -
Method Summary
Modifier and TypeMethodDescriptiondefault @NonNull ComponentCreates aComponentfrom the suppliedPlaceholderParserin the context of the suppliedPlaceholderContext.static PlaceholderComponent.Builderbuilder()Gets a builder for creatingPlaceholderComponent.context()Gets thePlaceholderContextthat is to be supplied to thePlaceholderParserto create theComponent.parser()Gets thePlaceholderParserthat handles this placeholder.
-
Method Details
-
builder
Gets a builder for creatingPlaceholderComponent.- Returns:
- A
PlaceholderComponent.Builder
-
context
PlaceholderContext context()Gets thePlaceholderContextthat is to be supplied to thePlaceholderParserto create theComponent.- Returns:
- The
PlaceholderContext
-
parser
PlaceholderParser parser()Gets thePlaceholderParserthat handles this placeholder.- Returns:
- The
PlaceholderParser
-
asComponent
Creates aComponentfrom the suppliedPlaceholderParserin the context of the suppliedPlaceholderContext.This will always return a
Componentobject, however, if the parser could not handle the provided context, this will beComponent.empty().- Specified by:
asComponentin interfaceComponentLike- Returns:
- The parsed
Component
-