Class RequirementsBuilder


  • public final class RequirementsBuilder
    extends Object
    Helper class to assist with the building of requirements.
    Since:
    0.1.0
    • Method Detail

      • addRequireProperty

        public RequirementsBuilder addRequireProperty​(String name,
                                                      String description)
        Add a required property; default type is string.
        Parameters:
        name - property name
        description - property description
        Returns:
        this builder
      • addRequireProperty

        public RequirementsBuilder addRequireProperty​(String name,
                                                      String type,
                                                      String description)
        Add a required property.
        Parameters:
        name - property name
        type - property type
        description - property description
        Returns:
        this builder
      • addProperty

        public RequirementsBuilder addProperty​(String name,
                                               String description)
        Add a property; default type is string.
        Parameters:
        name - property name
        description - property description
        Returns:
        this builder
      • addProperty

        public RequirementsBuilder addProperty​(String name,
                                               String type,
                                               String description)
        Add a property.
        Parameters:
        name - property name
        type - property type
        description - property description
        Returns:
        this builder
      • addRequireProperty

        public RequirementsBuilder addRequireProperty​(String name,
                                                      RequirementsBuilder builder)
        Add a required property of type object.
        Parameters:
        name - property name
        builder - property value builder
        Returns:
        this builder
      • addProperty

        public RequirementsBuilder addProperty​(String name,
                                               RequirementsBuilder builder)
        Add a property of type object.
        Parameters:
        name - property name
        builder - property value builder
        Returns:
        this builder
      • addDefinition

        public RequirementsBuilder addDefinition​(String name,
                                                 RequirementsBuilder builder)
        Add a definition to the main object.
        Parameters:
        name - property name
        builder - definition value builder
        Returns:
        this builder
      • addCustomField

        public RequirementsBuilder addCustomField​(String name,
                                                  JsonValue customJsonValue)
        Add a custom Json snippet.
        Parameters:
        name - property name
        customJsonValue - JasonValue instance
        Returns:
        this builder
      • build

        public JsonValue build()
        Builds a new json object representing the defined requirements.
        Returns:
        the json requirements
      • newInstance

        public static RequirementsBuilder newInstance​(String description)
        Creates a new builder instance for the json schema.
        Parameters:
        description - the overall requirements description
        Returns:
        a new builder instance
      • newObject

        public static RequirementsBuilder newObject​(String description)
        Creates a new builder instance for object type creation.
        Parameters:
        description - the object requirements description
        Returns:
        a new builder instance
      • newEmptyObject

        public static RequirementsBuilder newEmptyObject()
        Creates a new builder instance for empty object creation. All properties have to be set explicitly.
        Returns:
        a new builder instance
      • newArray

        public static RequirementsBuilder newArray​(RequirementsBuilder builder)
        Creates a new builder instance for array type creation.
        Parameters:
        builder - for the array item
        Returns:
        a new builder instance
      • newArray

        public static RequirementsBuilder newArray​(int minItems,
                                                   RequirementsBuilder builder)
        Creates a new builder instance for array type creation.
        Parameters:
        minItems - minimum number of items must present in the array
        builder - for the array item
        Returns:
        a new builder instance
      • oneOf

        public static RequirementsBuilder oneOf​(JsonValue... oneOfElements)
        Creates a new builder instance for oneOf keyword.
        Parameters:
        oneOfElements - for the oneOf keyword
        Returns:
        a new builder instance
      • newEmptyRequirements

        public static JsonValue newEmptyRequirements()
        Creates an empty requirements json object.
        Returns:
        empty requirements json object