Class AlternativeUiTextProvider
- All Implemented Interfaces:
ExtensionPoint
In a few limited places in Jenkins, we want to provide an ability for plugins to replace the text to be shown in the UI. Since each such case is rather trivial and can't justify its own extension point, we consolidate all such use cases into a single extension point.
Each such overridable UI text can have a context, which represents some information
that enables the AlternativeUiTextProvider
to make intelligent decision. This
is normally some kind of a model object, such as AbstractProject
.
To define a new UI text that can be overridable by AlternativeUiTextProvider
,
define a constant of AlternativeUiTextProvider.Message
(parameterized with the context object type),
then call get(Message, Object)
to obtain a text.
To define an implementation that overrides text, define a subtype and put @Extension
on it.
See AbstractProject.getBuildNowText()
as an example.
- Since:
- 1.401
- Author:
- Kohsuke Kawaguchi
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Each instance of this class represents a text that can be replaced byAlternativeUiTextProvider
.Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionall()
All the registered extension point instances.static <T> String
get
(AlternativeUiTextProvider.Message<T> text, T context) Consults all the existingAlternativeUiTextProvider
and return an override, if any, or null.static <T> String
get
(AlternativeUiTextProvider.Message<T> text, T context, String defaultValue) abstract <T> String
getText
(AlternativeUiTextProvider.Message<T> text, T context) Provides an opportunity to override the message text.
-
Constructor Details
-
AlternativeUiTextProvider
public AlternativeUiTextProvider()
-
-
Method Details
-
getText
Provides an opportunity to override the message text.- Parameters:
text
- Always non-null. Caller should pass in aAlternativeUiTextProvider.Message
constant that represents the text that we are being considered.context
- Context object. See class javadoc above.
-
all
All the registered extension point instances. -
get
public static <T> String get(AlternativeUiTextProvider.Message<T> text, T context, String defaultValue) -
get
Consults all the existingAlternativeUiTextProvider
and return an override, if any, or null.
-