public abstract class AlternativeUiTextProvider extends Object implements 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.
Modifier and Type | Class and Description |
---|---|
static class |
AlternativeUiTextProvider.Message<T>
Each instance of this class represents a text that can be replaced by
AlternativeUiTextProvider . |
ExtensionPoint.LegacyInstancesAreScopedToHudson
Constructor and Description |
---|
AlternativeUiTextProvider() |
Modifier and Type | Method and Description |
---|---|
static ExtensionList<AlternativeUiTextProvider> |
all()
All the registered extension point instances.
|
static <T> String |
get(AlternativeUiTextProvider.Message<T> text,
T context)
Consults all the existing
AlternativeUiTextProvider 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.
|
public abstract <T> String getText(AlternativeUiTextProvider.Message<T> text, T context)
text
- Always non-null. Caller should pass in a AlternativeUiTextProvider.Message
constant that
represents the text that we are being considered.context
- Context object. See class javadoc above.public static ExtensionList<AlternativeUiTextProvider> all()
public static <T> String get(AlternativeUiTextProvider.Message<T> text, T context, String defaultValue)
public static <T> String get(AlternativeUiTextProvider.Message<T> text, T context)
AlternativeUiTextProvider
and return an override, if any,
or null.Copyright © 2016. All rights reserved.