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

play.modules.swagger.PlaySwaggerConfig.scala Maven / Gradle / Ivy

package play.modules.swagger

import com.typesafe.config.Config
import javax.annotation.Nullable
import play.api.Configuration

case class PlaySwaggerConfig(
  title: String,
  version: String,
  description: String,
  termsOfServiceUrl: String,
  contact: String,
  license: String,
  licenseUrl: String,
  host: String,
  basePath: String,
  schemes: Seq[String],
  filterClass: Option[String]
) {
  // Java APIs for reading the configuration
  def getSchemes: Array[String] = schemes.toArray
  @Nullable def getFilterClass: String = filterClass.orNull
}

object PlaySwaggerConfig {
  def defaultReference: PlaySwaggerConfig = PlaySwaggerConfig(Configuration.reference)

  def apply(configuration: Configuration): PlaySwaggerConfig = {
    PlaySwaggerConfig(
      version = configuration.get[String]("api.version"),
      description = configuration.get[String]("swagger.api.info.description"),
      host = configuration.get[String]("swagger.api.host"),
      basePath = configuration.get[String]("swagger.api.basepath"),
      schemes = configuration.get[Seq[String]]("swagger.api.schemes"),
      title = configuration.get[String]("swagger.api.info.title"),
      contact = configuration.get[String]("swagger.api.info.contact"),
      termsOfServiceUrl = configuration.get[String]("swagger.api.info.termsOfServiceUrl"),
      license = configuration.get[String]("swagger.api.info.license"),
      licenseUrl = configuration.get[String]("swagger.api.info.licenseUrl"),
      filterClass = configuration.get[Option[String]]("swagger.filter")
    )
  }

  def apply(config: Config): PlaySwaggerConfig = apply(Configuration(config))
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy