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

sbt.internal.librarymanagement.SemComparator.scala Maven / Gradle / Ivy

/**
 * This code is generated using [[https://www.scala-bleep.nosbt.org/contraband/ sbt-contraband]].
 */

// DO NOT EDIT MANUALLY
package bleep.nosbt.internal.librarymanagement
final class SemComparator private (
  val op: bleep.nosbt.internal.librarymanagement.SemSelOperator,
  val major: Option[Long],
  val minor: Option[Long],
  val patch: Option[Long],
  val tags: Seq[String]) extends bleep.nosbt.internal.librarymanagement.SemComparatorExtra with Serializable {
  def matches(version: bleep.nosbt.librarymanagement.VersionNumber): Boolean = this.matchesImpl(version)
  def expandWildcard: Seq[SemComparator] = {
      if (op == bleep.nosbt.internal.librarymanagement.SemSelOperator.Eq && !allFieldsSpecified) {
      Seq(
      this.withOp(bleep.nosbt.internal.librarymanagement.SemSelOperator.Gte),
      this.withOp(bleep.nosbt.internal.librarymanagement.SemSelOperator.Lte)
      )
    } else { Seq(this) }
  }


  override def equals(o: Any): Boolean = this.eq(o.asInstanceOf[AnyRef]) || (o match {
    case x: SemComparator => (this.op == x.op) && (this.major == x.major) && (this.minor == x.minor) && (this.patch == x.patch) && (this.tags == x.tags)
    case _ => false
  })
  override def hashCode: Int = {
    37 * (37 * (37 * (37 * (37 * (37 * (17 + "bleep.nosbt.internal.librarymanagement.SemComparator".##) + op.##) + major.##) + minor.##) + patch.##) + tags.##)
  }
  override def toString: String = {
    this.toStringImpl
  }
  private[this] def copy(op: bleep.nosbt.internal.librarymanagement.SemSelOperator = op, major: Option[Long] = major, minor: Option[Long] = minor, patch: Option[Long] = patch, tags: Seq[String] = tags): SemComparator = {
    new SemComparator(op, major, minor, patch, tags)
  }
  def withOp(op: bleep.nosbt.internal.librarymanagement.SemSelOperator): SemComparator = {
    copy(op = op)
  }
  def withMajor(major: Option[Long]): SemComparator = {
    copy(major = major)
  }
  def withMinor(minor: Option[Long]): SemComparator = {
    copy(minor = minor)
  }
  def withPatch(patch: Option[Long]): SemComparator = {
    copy(patch = patch)
  }
  def withTags(tags: Seq[String]): SemComparator = {
    copy(tags = tags)
  }
}
object SemComparator extends bleep.nosbt.internal.librarymanagement.SemComparatorFunctions {
  def apply(comparator: String): SemComparator = parse(comparator)
  def apply(op: bleep.nosbt.internal.librarymanagement.SemSelOperator, major: Option[Long], minor: Option[Long], patch: Option[Long], tags: Seq[String]): SemComparator = new SemComparator(op, major, minor, patch, tags)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy