io.vulpine.lib.json.schema.v4.impl.MultiChildSchemaImpl Maven / Gradle / Ivy
Show all versions of json-schema-builder Show documentation
package io.vulpine.lib.json.schema.v4.impl;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import io.vulpine.lib.json.schema.SchemaBuilder;
import io.vulpine.lib.json.schema.v4.*;
import io.vulpine.lib.json.schema.v4.impl.lib.Setter;
class MultiChildSchemaImpl
extends MultiSchemaImpl
implements MultiChildSchema
{
private final P parent;
private final Setter setter;
MultiChildSchemaImpl(P a, ObjectMapper b, ObjectNode c, String d, Setter e)
{
super(b, c, d);
parent = a;
setter = e;
}
// ┌─────────────────────────────────────────────────────┐
// │ │
// │ Interface implementation │
// │ │
// └─────────────────────────────────────────────────────┘
@Override
public P close()
{
setter.accept(this);
return parent;
}
// ┌─────────────────────────────────────────────────────┐
// │ │
// │ Return type overrides │
// │ │
// └─────────────────────────────────────────────────────┘
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
add(SchemaBuilder... vals)
{
return (MultiChildSchema
) super.add(vals);
}
@Override
@SuppressWarnings("unchecked")
public ArrayChildSchema> addArray()
{
return (ArrayChildSchema>) super.addArray();
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema> addBoolean()
{
return (BooleanChildSchema>) super.addBoolean();
}
@Override
@SuppressWarnings("unchecked")
public IntegerChildSchema> addInteger()
{
return (IntegerChildSchema>) super.addInteger();
}
@Override
@SuppressWarnings("unchecked")
public NullChildSchema> addNull()
{
return (NullChildSchema>) super.addNull();
}
@Override
@SuppressWarnings("unchecked")
public NumberChildSchema> addNumber()
{
return (NumberChildSchema>) super.addNumber();
}
@Override
@SuppressWarnings("unchecked")
public ObjectChildSchema> addObject()
{
return (ObjectChildSchema>) super.addObject();
}
@Override
@SuppressWarnings("unchecked")
public StringChildSchema> addString()
{
return (StringChildSchema>) super.addString();
}
@Override
@SuppressWarnings("unchecked")
public UntypedChildSchema> add()
{
return (UntypedChildSchema>) super.add();
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema id(String id)
{
return (MultiChildSchema
) super.id(id);
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
removeId()
{
return (MultiChildSchema
) super.removeId();
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
$schema(String path)
{
return (MultiChildSchema
) super.$schema(path);
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
remove$Schema()
{
return (MultiChildSchema
) super.remove$Schema();
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
$ref(String path)
{
return (MultiChildSchema
) super.$ref(path);
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
remove$Ref()
{
return (MultiChildSchema
) super.remove$Ref();
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
description(String desc)
{
return (MultiChildSchema
) super.description(desc);
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
removeDescription()
{
return (MultiChildSchema
) super.removeDescription();
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
title(String title)
{
return (MultiChildSchema
) super.title(title);
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
removeTitle()
{
return (MultiChildSchema
) super.removeTitle();
}
@Override
@SuppressWarnings("unchecked")
public UntypedChildSchema extends MultiChildSchema
> definition(String k)
{
return (UntypedChildSchema extends MultiChildSchema
>)
super.definition(k);
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
definition(String name, SchemaBuilder schema)
{
return (MultiChildSchema
) super.definition(name, schema);
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
removeDefinition(String name)
{
return (MultiChildSchema
) super.removeDefinition(name);
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
removeDefinitions()
{
return (MultiChildSchema
) super.removeDefinitions();
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
defaultValue(JsonNode val)
{
return (MultiChildSchema
) super.defaultValue(val);
}
@Override
@SuppressWarnings("unchecked")
public MultiChildSchema
removeDefault()
{
return (MultiChildSchema
) super.removeDefault();
}
@Override
@SuppressWarnings("unchecked")
public UntypedChildSchema extends MultiChildSchema
> not()
{
return (UntypedChildSchema extends MultiChildSchema
>) super.not();
}
}