Package io.jenkins.plugins.casc
Interface Configurator<T>
- All Known Subinterfaces:
RootElementConfigurator<T>
- All Known Implementing Classes:
AdminWhitelistRuleConfigurator
,BaseConfigurator
,ConfigurableConfigurator
,DataBoundConfigurator
,DescriptorConfigurator
,EnumConfigurator
,ExtensionConfigurator
,GlobalConfigurationCategoryConfigurator
,HeteroDescribableConfigurator
,HudsonPrivateSecurityRealmConfigurator
,JenkinsConfigurator
,JNLPLauncherConfigurator
,LabelAtomConfigurator
,LabelAtomPropertyConfigurator
,MavenConfigurator
,NoneSecurityRealmConfigurator
,PrimitiveConfigurator
,SelfConfigurator
,UnsecuredAuthorizationStrategyConfigurator
,UpdateCenterConfigurator
,UpdateSiteConfigurator
public interface Configurator<T>
Define a
Configurator
which handles a configuration element, identified by name.- Author:
- Nicolas De Loof, Oleg Nenashev
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
canConfigure
(Class clazz) check
(CNode config, ConfigurationContext context) Run the same logic asconfigure(CNode, ConfigurationContext)
in dry-run mode.configure
(CNode config, ConfigurationContext context) Configures/creates a Jenkins object based on a tree.describe()
Determine the list of Attribute available for configuration of the managed component.default CNode
describe
(T instance, ConfigurationContext context) Describe a component as a Configuration NodesCNode
to be exported as yaml.default CNode
describeStructure
(T instance, ConfigurationContext context) Describe Structure of the attributes, as required by the schema.static Comparator<Object>
static double
extractExtensionOrdinal
(Attribute<?, ?> attribute) static double
extractExtensionOrdinal
(Class clazz) static double
default List<Configurator<T>>
getConfigurators
(ConfigurationContext context) default String
default Class
default String
getName()
Get a configurator name.getNames()
Get all possible configurator namesTarget type this configurator can handle.static String
-
Method Details
-
normalize
-
getName
Get a configurator name. This should return the default name for the configurator, used for exporting yaml seegetNames()
for all possible names which will be considered when configuring.- Returns:
- short name for this component when used in a configuration.yaml file
-
getNames
Get all possible configurator names- Returns:
- a list of all possible short names for this component when used in a configuration.yaml file
-
getDisplayName
- Returns:
- Human friendly display name for this component, used in generated documentation.
-
getTarget
Target type this configurator can handle. -
canConfigure
- Returns:
true
if this configurator can handle typeclazz
. Implementation has to be consistent withgetTarget()
-
getImplementedAPI
- Returns:
- The API implemented by target type, i.e. implemented
ExtensionPoint
for components to implement some jenkins APIs, or raw type for others.
-
getConfigurators
- Returns:
- list of
Configurator
s to be considered so one can fully configure this component. Typically, configurator for an abstract extension point will return Configurators for available implementations.
-
describe
Determine the list of Attribute available for configuration of the managed component.- Returns:
- A set of
Attribute
s that describes this object
-
getAttributes
- Returns:
- Ordered version of
describe()
for documentation generation. Only include non-ignored attribute
-
configure
Configures/creates a Jenkins object based on a tree.- Parameters:
config
- Map/List/primitive objects (think YAML) that represents the configuration from which a Jenkins object is configured.context
- Fully configured Jenkins object used as the starting point for this configuration.- Returns:
- Fully configured Jenkins object that results from this configuration. if no new objects got created, but some existing objects may have been modified, return updated target object.
- Throws:
ConfiguratorException
- if something went wrong, depends on the concrete implementation
-
check
Run the same logic asconfigure(CNode, ConfigurationContext)
in dry-run mode. Used to verify configuration is fine before being actually applied to a live jenkins controller.- Parameters:
config
- Map/List/primitive objects (think YAML) that represents the configuration from which a Jenkins object is configured.context
- Fully configured Jenkins object used as the starting point for this configuration.- Throws:
ConfiguratorException
- on configuration error
-
describe
Describe a component as a Configuration NodesCNode
to be exported as yaml. Only export attributes which are not set to default value.- Throws:
Exception
-
describeStructure
Describe Structure of the attributes, as required by the schema.- Parameters:
instance
- Object whose attributes will be described.context
- Fully configured Jenkins object used as the starting point for this configuration.- Returns:
- CNode describing the attributes.
- Since:
- 1.35
-
extractExtensionOrdinal
-
extractExtensionOrdinal
-
extractExtensionOrdinal
-
extensionOrdinalSort
-