# Interface VersionConstraint

All Known Subinterfaces:
  `MutableVersionConstraint`

@Incubating public interface VersionConstraint
Represents a constrained version. By default, when a dependency has a version number, it is assumed that the version can be upgraded during conflict resolution (typically, version 1.15 can be upgraded to 1.16). However in some cases we don't want this behavior. This class represents the base spec of module constraints.

Since:
  4.4

## Method Summary

Modifier and Type
Method
Description
`String`
`getPreferredVersion()`
The preferred version of a module.
`List<String>`
`getRejectedVersions()`
Returns the list of versions that this module rejects (which may be exact versions, or ranges, anything that fits into a version string).

## Method Details

### getPreferredVersion

@Nullable String getPreferredVersion()
The preferred version of a module. The preferred version of a module can typically be upgraded during dependency resolution, unless further constraints are added.

Returns:
  the baseline version, often referred to as the preferred version.

### getRejectedVersions

List<String> getRejectedVersions()
Returns the list of versions that this module rejects (which may be exact versions, or ranges, anything that fits into a version string).

Returns:
  the list of rejected versions