Class HeteroDescribableConfigurator<T extends Describable<T>>
java.lang.Object
io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator<T>
- All Implemented Interfaces:
Configurator<T>
- Direct Known Subclasses:
LabelAtomPropertyConfigurator
@Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class)
public class HeteroDescribableConfigurator<T extends Describable<T>>
extends Object
implements Configurator<T>
Configurator
that works with Describable
subtype as a target
.
The configuration object will be specify the 'short name' which we use to resolve to a specific
subtype of target
. For example, if target
is SecurityRealm
and the short name
is 'local', we resolve to HudsonPrivateSecurityRealm
(because it has Symbol
annotation that
specifies that name.
The corresponding Configurator
will be then invoked to configure the chosen subtype.
- Author:
- Nicolas De Loof
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncheck
(CNode config, ConfigurationContext context) Run the same logic asConfigurator.configure(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.describe
(T instance, ConfigurationContext context) Describe a component as a Configuration NodesCNode
to be exported as yaml.getConfigurators
(ConfigurationContext context) Target type this configurator can handle.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.jenkins.plugins.casc.Configurator
canConfigure, describeStructure, getAttributes, getDisplayName, getImplementedAPI, getName, getNames
-
Constructor Details
-
HeteroDescribableConfigurator
-
-
Method Details
-
getTarget
Description copied from interface:Configurator
Target type this configurator can handle.- Specified by:
getTarget
in interfaceConfigurator<T extends Describable<T>>
-
getConfigurators
- Specified by:
getConfigurators
in interfaceConfigurator<T extends Describable<T>>
- 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.
-
configure
Description copied from interface:Configurator
Configures/creates a Jenkins object based on a tree.- Specified by:
configure
in interfaceConfigurator<T extends Describable<T>>
- 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.
-
check
Description copied from interface:Configurator
Run the same logic asConfigurator.configure(CNode, ConfigurationContext)
in dry-run mode. Used to verify configuration is fine before being actually applied to a live jenkins controller.- Specified by:
check
in interfaceConfigurator<T extends Describable<T>>
- 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.
-
describe
Description copied from interface:Configurator
Determine the list of Attribute available for configuration of the managed component.- Specified by:
describe
in interfaceConfigurator<T extends Describable<T>>
- Returns:
- A set of
Attribute
s that describes this object
-
describe
Description copied from interface:Configurator
Describe a component as a Configuration NodesCNode
to be exported as yaml. Only export attributes which are not set to default value.- Specified by:
describe
in interfaceConfigurator<T extends Describable<T>>
-
getImplementors
-