io.vulpine.lib.json.schema.v4.MultiChildSchema Maven / Gradle / Ivy
package io.vulpine.lib.json.schema.v4;
import com.fasterxml.jackson.databind.JsonNode;
import io.vulpine.lib.json.schema.SchemaBuilder;
import io.vulpine.lib.json.schema.v4.lib.ChildSchema;
public interface MultiChildSchema
extends MultiSchema, ChildSchema
{
// ┌─────────────────────────────────────────────────────┐
// │ │
// │ Return type overrides │
// │ │
// └─────────────────────────────────────────────────────┘
@Override
ArrayChildSchema extends MultiChildSchema
> addArray();
@Override
BooleanChildSchema extends MultiChildSchema
> addBoolean();
@Override
IntegerChildSchema extends MultiChildSchema
> addInteger();
@Override
NullChildSchema extends MultiChildSchema
> addNull();
@Override
NumberChildSchema extends MultiChildSchema
> addNumber();
@Override
ObjectChildSchema extends MultiChildSchema
> addObject();
@Override
StringChildSchema extends MultiChildSchema
> addString();
@Override
UntypedChildSchema extends MultiChildSchema
> add();
@Override
MultiChildSchema
add(SchemaBuilder... vals);
@Override
MultiChildSchema
id(String id);
@Override
MultiChildSchema
removeId();
@Override
MultiChildSchema
$schema(String path);
@Override
MultiChildSchema
remove$Schema();
@Override
MultiChildSchema
$ref(String path);
@Override
MultiChildSchema
remove$Ref();
@Override
MultiChildSchema
description(String desc);
@Override
MultiChildSchema
removeDescription();
@Override
MultiChildSchema
title(String title);
@Override
MultiChildSchema
removeTitle();
@Override
UntypedChildSchema extends MultiChildSchema
> definition(String name);
@Override
MultiChildSchema
definition(String name, SchemaBuilder schema);
@Override
MultiChildSchema
removeDefinition(String name);
@Override
MultiChildSchema
removeDefinitions();
@Override
MultiChildSchema
defaultValue(JsonNode val);
@Override
MultiChildSchema
removeDefault();
@Override
UntypedChildSchema extends MultiChildSchema
> not();
}