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

io.lemonlabs.uri.encoding.ChainedUriEncoder.scala Maven / Gradle / Ivy

The newest version!
package io.lemonlabs.uri.encoding

/** Date: 28/08/2013
  * Time: 21:07
  */
case class ChainedUriEncoder(encoders: Seq[UriEncoder]) extends UriEncoder {
  def shouldEncode(ch: Char) = findFirstEncoder(ch).isDefined
  def encodeChar(ch: Char) = findFirstEncoder(ch).getOrElse(NoopEncoder).encodeChar(ch)

  def findFirstEncoder(ch: Char) = {
    encoders.find(_.shouldEncode(ch))
  }

  override def +(encoder: UriEncoder) = copy(encoders = encoders :+ encoder)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy