Class DescriptionBuilder


  • public class DescriptionBuilder
    extends java.lang.Object
    DescriptionBuilder is a builder for creating a Description object.
    • Method Detail

      • 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
      • mapping

        public DescriptionBuilder mapping​(java.lang.String key,
                                          java.lang.String name)
        Parameters:
        key - property key
        name - 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 key
        name - 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 - name
        defaultValue - default
        required - true if required
        propTitle - optional title
        propDescription - 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 - name
        defaultValue - default
        required - true if required
        propTitle - optional title
        propDescription - 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 - name
        defaultValue - default
        required - true if required
        propTitle - optional title
        propDescription - 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 - name
        defaultValue - default
        required - true if required
        propTitle - optional title
        propDescription - optional description
        selectValues - 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 - name
        defaultValue - default
        required - true if required
        propTitle - optional title
        propDescription - optional description
        selectValues - 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
      • metadata

        public DescriptionBuilder metadata​(java.lang.String key,
                                           java.lang.String value)
        Set a metadata value
        Parameters:
        key - metadata key
        value - 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​(java.lang.Object colab)
        Allows any object to collaborate on this DescriptionBuilder if it implements DescriptionBuilder.Collaborator, otherwise simply returns this builder.
        Parameters:
        colab - collaborator
        Returns:
        this builder