Package com.dtolabs.rundeck.plugins.util
Class DescriptionBuilder
- java.lang.Object
-
- com.dtolabs.rundeck.plugins.util.DescriptionBuilder
-
public class DescriptionBuilder extends java.lang.Object
DescriptionBuilder is a builder for creating a Description object.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
DescriptionBuilder.Collaborator
Allows a class to collaborate in building a Description using a DescriptionBuilder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DescriptionBuilder
booleanProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription)
Add a Boolean propertyDescription
build()
static Description
buildDescriptionWith(java.util.function.Consumer<DescriptionBuilder> builder)
Build a descriptionstatic DescriptionBuilder
builder()
static DescriptionBuilder
builder(Description original)
java.util.List<Property>
buildProperties()
DescriptionBuilder
collaborate(DescriptionBuilder.Collaborator colab)
Allows the Collaborator to assist using this DescriptionBuilder.DescriptionBuilder
collaborate(java.lang.Object colab)
Allows any object to collaborate on this DescriptionBuilder if it implementsDescriptionBuilder.Collaborator
, otherwise simply returns this builder.DescriptionBuilder
description(java.lang.String description)
DescriptionBuilder
frameworkMapping(java.lang.String key, java.lang.String name)
Add a property mapping for framework propertiesDescriptionBuilder
frameworkMapping(java.util.Map<java.lang.String,java.lang.String> mapping)
Add all entries to the frameworkMappingDescriptionBuilder
freeSelectProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription, java.util.List<java.lang.String> selectValues)
Add a FreeSelect propertyDescriptionBuilder
integerProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription)
Add an Integer propertyDescriptionBuilder
isHighlighted(boolean isHighlighted)
DescriptionBuilder
mapping(java.lang.String key, java.lang.String name)
DescriptionBuilder
mapping(java.util.Map<java.lang.String,java.lang.String> mapping)
Add all entries to the mappingDescriptionBuilder
metadata(java.lang.String key, java.lang.String value)
Set a metadata valueDescriptionBuilder
metadata(java.util.Map<java.lang.String,java.lang.String> values)
Add all metadata valuesDescriptionBuilder
name(java.lang.String name)
DescriptionBuilder
order(int order)
DescriptionBuilder
pluginGroup(java.lang.Class<? extends PluginGroup> pluginGroupType)
Set plugin groupDescriptionBuilder
property(Property property)
Add a new property, or replace an existing property with the same name.DescriptionBuilder
property(PropertyBuilder property)
Add a new property, or replace an existing property with the same name by passing in a builder.PropertyBuilder
property(java.lang.String name)
Returns a newPropertyBuilder
preconfigured with an existing property or a new one to add a new property.DescriptionBuilder
property(java.util.function.Consumer<PropertyBuilder> builder)
Add a new property, or replace an existing property with the same name, with a consumerDescriptionBuilder
removeProperty(java.lang.String name)
Remove a previously defined property by nameDescriptionBuilder
selectProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription, java.util.List<java.lang.String> selectValues)
Add a Select propertyDescriptionBuilder
stringProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription)
Add a String propertyDescriptionBuilder
title(java.lang.String title)
-
-
-
Method Detail
-
builder
public static DescriptionBuilder builder()
- Returns:
- a builder
-
buildDescriptionWith
public static Description buildDescriptionWith(java.util.function.Consumer<DescriptionBuilder> builder)
Build a description- Parameters:
builder
- new DescriptionBuilder to build with- Returns:
- built description
-
builder
public static DescriptionBuilder builder(Description original)
- Parameters:
original
- source- Returns:
- a builder with a given description
-
name
public DescriptionBuilder name(java.lang.String name)
- Parameters:
name
- the name- Returns:
- this builder
-
title
public DescriptionBuilder title(java.lang.String title)
- Parameters:
title
- a title string- Returns:
- this builder
-
description
public DescriptionBuilder description(java.lang.String description)
- Parameters:
description
- a description string- Returns:
- this builder
-
isHighlighted
public DescriptionBuilder isHighlighted(boolean isHighlighted)
-
order
public DescriptionBuilder order(int order)
-
mapping
public DescriptionBuilder mapping(java.lang.String key, java.lang.String name)
- Parameters:
key
- property keyname
- a property name mapping- Returns:
- this builder
-
frameworkMapping
public DescriptionBuilder frameworkMapping(java.lang.String key, java.lang.String name)
Add a property mapping for framework properties- Parameters:
key
- property keyname
- a property name mapping- Returns:
- this builder
-
mapping
public DescriptionBuilder mapping(java.util.Map<java.lang.String,java.lang.String> mapping)
Add all entries to the mapping- Parameters:
mapping
- property key to properties name mapping- Returns:
- this builder
-
frameworkMapping
public DescriptionBuilder frameworkMapping(java.util.Map<java.lang.String,java.lang.String> mapping)
Add all entries to the frameworkMapping- Parameters:
mapping
- property key to properties name mapping- Returns:
- this builder
-
pluginGroup
public DescriptionBuilder pluginGroup(java.lang.Class<? extends PluginGroup> pluginGroupType)
Set plugin group- Parameters:
pluginGroupType
-- Returns:
-
stringProperty
public DescriptionBuilder stringProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription)
Add a String property- Parameters:
name
- namedefaultValue
- defaultrequired
- true if requiredpropTitle
- optional titlepropDescription
- optional description- Returns:
- this builder
-
booleanProperty
public DescriptionBuilder booleanProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription)
Add a Boolean property- Parameters:
name
- namedefaultValue
- defaultrequired
- true if requiredpropTitle
- optional titlepropDescription
- optional description- Returns:
- this builder
-
integerProperty
public DescriptionBuilder integerProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription)
Add an Integer property- Parameters:
name
- namedefaultValue
- defaultrequired
- true if requiredpropTitle
- optional titlepropDescription
- optional description- Returns:
- this builder
-
selectProperty
public DescriptionBuilder selectProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription, java.util.List<java.lang.String> selectValues)
Add a Select property- Parameters:
name
- namedefaultValue
- defaultrequired
- true if requiredpropTitle
- optional titlepropDescription
- optional descriptionselectValues
- select values- Returns:
- this builder
-
freeSelectProperty
public DescriptionBuilder freeSelectProperty(java.lang.String name, java.lang.String defaultValue, boolean required, java.lang.String propTitle, java.lang.String propDescription, java.util.List<java.lang.String> selectValues)
Add a FreeSelect property- Parameters:
name
- namedefaultValue
- defaultrequired
- true if requiredpropTitle
- optional titlepropDescription
- optional descriptionselectValues
- select values- Returns:
- this builder
-
property
public DescriptionBuilder property(PropertyBuilder property)
Add a new property, or replace an existing property with the same name by passing in a builder.- Parameters:
property
- builder- Returns:
- this builder
-
property
public DescriptionBuilder property(Property property)
Add a new property, or replace an existing property with the same name.- Parameters:
property
- property- Returns:
- this builder
-
property
public DescriptionBuilder property(java.util.function.Consumer<PropertyBuilder> builder)
Add a new property, or replace an existing property with the same name, with a consumer- Parameters:
builder
- a new PropertyBuilder to modify- Returns:
- this builder
-
removeProperty
public DescriptionBuilder removeProperty(java.lang.String name)
Remove a previously defined property by name- Parameters:
name
- property name- Returns:
- this builder
-
property
public PropertyBuilder property(java.lang.String name)
Returns a newPropertyBuilder
preconfigured with an existing property or a new one to add a new property. Be sure to callproperty(com.dtolabs.rundeck.core.plugins.configuration.Property)
to add the result of the final call toPropertyBuilder.build()
.- Parameters:
name
- name- Returns:
- this builder
-
metadata
public DescriptionBuilder metadata(java.lang.String key, java.lang.String value)
Set a metadata value- Parameters:
key
- metadata keyvalue
- metadata value- Returns:
- this builder
-
metadata
public DescriptionBuilder metadata(java.util.Map<java.lang.String,java.lang.String> values)
Add all metadata values- Parameters:
values
- metadata entries- Returns:
- this builder
-
build
public Description build()
- Returns:
- the built description
-
buildProperties
public java.util.List<Property> buildProperties()
- Returns:
- the list of properties
-
collaborate
public DescriptionBuilder collaborate(DescriptionBuilder.Collaborator colab)
Allows the Collaborator to assist using this DescriptionBuilder.- Parameters:
colab
- collaborator- Returns:
- this builder
-
collaborate
public DescriptionBuilder collaborate(java.lang.Object colab)
Allows any object to collaborate on this DescriptionBuilder if it implementsDescriptionBuilder.Collaborator
, otherwise simply returns this builder.- Parameters:
colab
- collaborator- Returns:
- this builder
-
-