io.vulpine.lib.json.schema.v4.impl.BooleanChildSchemaImpl Maven / Gradle / Ivy
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 BooleanChildSchemaImpl
extends BooleanSchemaImpl
implements BooleanChildSchema
{
private final P parent;
private final Setter setter;
BooleanChildSchemaImpl(
P parent,
ObjectMapper jax,
ObjectNode raw,
Setter setter
) {
super(jax, raw);
this.parent = parent;
this.setter = setter;
}
// ┌─────────────────────────────────────────────────────┐
// │ │
// │ Interface implementation │
// │ │
// └─────────────────────────────────────────────────────┘
@Override
public P close()
{
setter.accept(this);
return parent;
}
// ┌─────────────────────────────────────────────────────┐
// │ │
// │ Return type overrides │
// │ │
// └─────────────────────────────────────────────────────┘
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
defaultValue(boolean val)
{
return (BooleanChildSchema
) super.defaultValue(val);
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
id(String id)
{
return (BooleanChildSchema
) super.id(id);
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
removeId()
{
return (BooleanChildSchema
) super.removeId();
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
$schema(String path)
{
return (BooleanChildSchema
) super.$schema(path);
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
remove$Schema()
{
return (BooleanChildSchema
) super.remove$Schema();
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
$ref(String path)
{
return (BooleanChildSchema
) super.$ref(path);
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
remove$Ref()
{
return (BooleanChildSchema
) super.remove$Ref();
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
description(String desc)
{
return (BooleanChildSchema
) super.description(desc);
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
removeDescription()
{
return (BooleanChildSchema
) super.removeDescription();
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
title(String title)
{
return (BooleanChildSchema
) super.title(title);
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
removeTitle()
{
return (BooleanChildSchema
) super.removeTitle();
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
removeDefault()
{
return (BooleanChildSchema
) super.removeDefault();
}
@Override
public ArrayChildSchema
orAsArray()
{
return new ArrayChildSchemaImpl<>(parent, jax(), copy(), setter);
}
@Override
public IntegerChildSchema
orAsInteger()
{
return new IntegerChildSchemaImpl<>(parent, jax(), copy(), setter);
}
@Override
public NullChildSchema
orAsNull()
{
return new NullChildSchemaImpl<>(parent, jax(), copy(), setter);
}
@Override
public NumberChildSchema
orAsNumber()
{
return new NumberChildSchemaImpl<>(parent, jax(), copy(), setter);
}
@Override
public ObjectChildSchema
orAsObject()
{
return new ObjectChildSchemaImpl<>(parent, jax(), copy(), setter);
}
@Override
public StringChildSchema
orAsString()
{
return new StringChildSchemaImpl<>(parent, jax(), copy(), setter);
}
@Override
@SuppressWarnings("unchecked")
public UntypedChildSchema extends BooleanChildSchema
>
definition(String name)
{
return (UntypedChildSchema extends BooleanChildSchema
>)
super.definition(name);
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
definition(String name, SchemaBuilder schema)
{
return (BooleanChildSchema
) super.definition(name, schema);
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
removeDefinition(String name)
{
return (BooleanChildSchema
) super.removeDefinition(name);
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
removeDefinitions()
{
return (BooleanChildSchema
) super.removeDefinitions();
}
@Override
@SuppressWarnings("unchecked")
public BooleanChildSchema
defaultValue(JsonNode val)
{
return (BooleanChildSchema
) super.defaultValue(val);
}
@Override
@SuppressWarnings("unchecked")
public UntypedChildSchema extends BooleanChildSchema
> not()
{
return (UntypedChildSchema extends BooleanChildSchema
>) super.not();
}
}