You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

14 lines
514 B
Kotlin

package net.cijber.pubgrub.version
import net.cijber.pubgrub.stubs.Version
interface VersionConstraint<V : Version<V>> {
fun allows(version: V): Boolean
fun allowsAll(rhs: VersionConstraint<V>): Boolean
fun allowsAny(rhs: VersionConstraint<V>): Boolean
fun intersect(rhs: VersionConstraint<V>): VersionConstraint<V>
fun difference(rhs: VersionConstraint<V>): VersionConstraint<V>
fun union(rhs: VersionConstraint<V>): VersionConstraint<V>
val isAny: Boolean
val isEmpty: Boolean
}