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

model.wrapper.AvroSource.kt Maven / Gradle / Ivy

package io.toolisticon.kotlin.avro.model.wrapper

import io.toolisticon.kotlin.avro.value.AvroSpecification
import io.toolisticon.kotlin.avro.value.JsonString
import java.io.File
import java.net.URL

/**
 * The source of a current parse operation.
 *
 * Can be:
 *
 * * [File],
 * * resource [URL]
 * * [JsonString] directly.
 */
sealed interface AvroSource {
  val json: JsonString
  val specification: AvroSpecification
}

data class ResourceSource(
  override val json: JsonString,
  override val specification: AvroSpecification,
  val url: URL
) : AvroSource

data class FileSource(
  override val json: JsonString,
  override val specification: AvroSpecification,
  val file: File
) : AvroSource

data class JsonSource(
  override val json: JsonString,
  override val specification: AvroSpecification
) : AvroSource




© 2015 - 2025 Weber Informatics LLC | Privacy Policy