All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.vulpine.lib.json.schema.v4.MultiSchema Maven / Gradle / Ivy

The newest version!
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.SchemaNodeArray;

public interface MultiSchema
extends
  SchemaNode,
  SchemaNodeArray
{
  // ┌─────────────────────────────────────────────────────┐
  // │                                                     │
  // │ Return type overrides                               │
  // │                                                     │
  // └─────────────────────────────────────────────────────┘

  @Override
  MultiSchema add(SchemaBuilder... vals);

  @Override
  MultiSchema id(String id);

  @Override
  MultiSchema removeId();

  @Override
  MultiSchema $schema(String path);

  @Override
  MultiSchema remove$Schema();

  @Override
  MultiSchema $ref(String path);

  @Override
  MultiSchema remove$Ref();

  @Override
  MultiSchema description(String desc);

  @Override
  MultiSchema removeDescription();

  @Override
  MultiSchema title(String title);

  @Override
  MultiSchema removeTitle();

  @Override
  UntypedChildSchema definition(String name);

  @Override
  MultiSchema definition(String name, SchemaBuilder schema);

  @Override
  MultiSchema removeDefinition(String name);

  @Override
  MultiSchema removeDefinitions();

  @Override
  MultiSchema defaultValue(JsonNode val);

  @Override
  MultiSchema removeDefault();

  @Override
  UntypedChildSchema not();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy