Class RequirementsBuilder

java.lang.Object
org.forgerock.selfservice.core.util.RequirementsBuilder

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

    • 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