Package io.vertx.json.schema.common.dsl

## Class SchemaBuilder<T extends SchemaBuilder<?,​?>,​K extends Keyword>

- java.lang.Object
- - io.vertx.json.schema.common.dsl.SchemaBuilder<T,​K>

- Type Parameters:
    `T` -
    `K` -
  Direct Known Subclasses:
    `ArraySchemaBuilder`, `BooleanSchemaBuilder`, `GenericSchemaBuilder`, `NumberSchemaBuilder`, `ObjectSchemaBuilder`, `StringSchemaBuilder`, `TupleSchemaBuilder`

      public abstract class SchemaBuilder<T extends SchemaBuilder<?,​?>,​K extends Keyword>
      extends Object

  Entry point for schema dsl. Look at the doc for more info

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected URI` | `id` |
    `protected Map<String,​java.util.function.Supplier<Object>>` | `keywords` |
    `protected SchemaType` | `type` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SchemaBuilder​(SchemaType type)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `T` | `alias​(String alias)` |
    `T` | `defaultValue​(Object defaultValue)` |
    `T` | `fromJson​(JsonObject object)` |
    `SchemaType` | `getType()` |
    `T` | `id​(JsonPointer id)` |
    `T` | `nullable()` |
    `JsonObject` | `toJson()` |
    `T` | `type​(SchemaType type)` |
    `T` | `with​(K keyword)` |
    `T` | `with​(K... keywords)` |
    `T` | `withKeyword​(String key, Object value)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### type

          protected SchemaType type

    - #### keywords

          protected final Map<String,​java.util.function.Supplier<Object>> keywords

    - #### id

          protected URI id

  - ### Constructor Detail

    - #### SchemaBuilder

          public SchemaBuilder​(SchemaType type)

  - ### Method Detail

    - #### alias

          public T alias​(String alias)

    - #### id

          public T id​(JsonPointer id)

    - #### with

          public T with​(K keyword)

    - #### with

          public T with​(K... keywords)

    - #### withKeyword

          public T withKeyword​(String key,
                               Object value)

    - #### defaultValue

          public T defaultValue​(Object defaultValue)

    - #### fromJson

          public T fromJson​(JsonObject object)

    - #### nullable

          public T nullable()

    - #### type

          public T type​(SchemaType type)

    - #### getType

          public SchemaType getType()

    - #### toJson

          public JsonObject toJson()