Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
package org.codehaus.mojo.versions.api;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.VersionRange;
import org.codehaus.mojo.versions.ordering.VersionComparator;
/**
* Created by IntelliJ IDEA.
*
* @author connollys
* @since 1.0-beta-1
*/
public interface VersionDetails
{
/**
* Returns true if the specific version is in the list of versions.
*
* @param version the specific version.
* @return true if the specific version is in the list of versions.
* @since 1.0-beta-1
*/
boolean containsVersion( String version );
/**
* Gets the rule for version comparison of this artifact.
*
* @return the rule for version comparison of this artifact.
* @since 1.0-beta-1
*/
VersionComparator getVersionComparator();
/**
* Returns all the available versions in increasing order.
*
* @return all the available versions in increasing order.
* @since 1.0-alpha-3
*/
ArtifactVersion[] getVersions();
/**
* Returns all available versions in increasing order.
*
* @param includeSnapshots true if snapshots are to be included.
* @return all available versions in increasing order.
* @since 1.0-alpha-3
*/
ArtifactVersion[] getVersions( boolean includeSnapshots );
/**
* Returns all available versions within the specified version range.
*
* @param versionRange The version range within which the version must exist.
* @param includeSnapshots true if snapshots are to be included.
* @return all available versions within the specified version range.
* @since 1.0-alpha-3
*/
ArtifactVersion[] getVersions( VersionRange versionRange, boolean includeSnapshots );
/**
* Returns all available versions within the specified bounds.
*
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @return all available versions within the specified version range.
* @since 1.0-beta-1
*/
ArtifactVersion[] getVersions( ArtifactVersion lowerBound, ArtifactVersion upperBound );
/**
* Returns all available versions within the specified bounds.
*
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @param includeSnapshots true if snapshots are to be included.
* @return all available versions within the specified version range.
* @since 1.0-beta-1
*/
ArtifactVersion[] getVersions( ArtifactVersion lowerBound, ArtifactVersion upperBound, boolean includeSnapshots );
/**
* Returns all available versions within the specified bounds.
*
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @param includeSnapshots true if snapshots are to be included.
* @param includeLower true if the lower bound is inclusive.
* @param includeUpper true> if the upper bound is inclusive.
* @return all available versions within the specified version range.
* @since 1.0-beta-1
*/
ArtifactVersion[] getVersions( ArtifactVersion lowerBound, ArtifactVersion upperBound, boolean includeSnapshots,
boolean includeLower, boolean includeUpper );
/**
* Returns all available versions within the specified bounds.
*
* @param versionRange The version range within which the version must exist where null imples
* [,).
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @param includeSnapshots true if snapshots are to be included.
* @param includeLower true if the lower bound is inclusive.
* @param includeUpper true> if the upper bound is inclusive.
* @return all available versions within the specified version range.
* @since 1.0-beta-1
*/
ArtifactVersion[] getVersions( VersionRange versionRange, ArtifactVersion lowerBound, ArtifactVersion upperBound,
boolean includeSnapshots, boolean includeLower, boolean includeUpper );
/**
* Returns the latest version newer than the specified lowerBound, but less than the specified upper bound or
* null if no such version exists.
*
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @return the latest version between lowerBound and upperBound or null if no version is available.
* @since 1.0-alpha-3
*/
ArtifactVersion getNewestVersion( ArtifactVersion lowerBound, ArtifactVersion upperBound );
/**
* Returns the latest version newer than the specified lowerBound, but less than the specified upper bound or
* null if no such version exists.
*
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @param includeSnapshots true if snapshots are to be included.
* @return the latest version between currentVersion and upperBound or null if no version is available.
* @since 1.0-alpha-3
*/
ArtifactVersion getNewestVersion( ArtifactVersion lowerBound, ArtifactVersion upperBound,
boolean includeSnapshots );
/**
* Returns the latest version newer than the specified current version, but less than the specified upper bound or
* null if no such version exists.
*
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @param includeSnapshots true if snapshots are to be included.
* @param includeLower true if the lower bound is inclusive.
* @param includeUpper true> if the upper bound is inclusive.
* @return the latest version between lowerBound and upperBound or null if no version is available.
* @since 1.0-alpha-3
*/
ArtifactVersion getNewestVersion( ArtifactVersion lowerBound, ArtifactVersion upperBound, boolean includeSnapshots,
boolean includeLower, boolean includeUpper );
/**
* Returns the latest version newer than the specified current version, but less than the specified upper bound or
* null if no such version exists.
*
* @param versionRange The version range within which the version must exist where null imples
* [,).
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @param includeSnapshots true if snapshots are to be included.
* @param includeLower true if the lower bound is inclusive.
* @param includeUpper true> if the upper bound is inclusive.
* @return the latest version between lowerBound and upperBound or null if no version is available.
* @since 1.0-alpha-3
*/
ArtifactVersion getNewestVersion( VersionRange versionRange, ArtifactVersion lowerBound, ArtifactVersion upperBound,
boolean includeSnapshots, boolean includeLower, boolean includeUpper );
/**
* Returns the latest version within the specified version range or null if no such version exists.
*
* @param versionRange The version range within which the version must exist.
* @param includeSnapshots true if snapshots are to be included.
* @return the latest version within the version range or null if no version is available.
* @since 1.0-alpha-3
*/
ArtifactVersion getNewestVersion( VersionRange versionRange, boolean includeSnapshots );
/**
* Returns the oldest version after the specified lowerBound, but less than the specified upper bound or
* null if no such version exists.
*
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @return the next version between lowerBound and upperBound or null if no version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestVersion( ArtifactVersion lowerBound, ArtifactVersion upperBound );
/**
* Returns the oldest version within the specified version range or null if no such version exists.
*
* @param versionRange The version range within which the version must exist.
* @param includeSnapshots true if snapshots are to be included.
* @return the oldest version between currentVersion and upperBound or null if no version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestVersion( VersionRange versionRange, boolean includeSnapshots );
/**
* Returns the oldest version newer than the specified lower bound, but less than the specified upper bound or
* null if no such version exists.
*
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @param includeSnapshots true if snapshots are to be included.
* @return the latest version between currentVersion and upperBound or null if no version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestVersion( ArtifactVersion lowerBound, ArtifactVersion upperBound,
boolean includeSnapshots );
/**
* Returns the oldest version within the specified bounds or null if no such version exists.
*
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @param includeSnapshots true if snapshots are to be included.
* @param includeLower true if the lower bound is inclusive.
* @param includeUpper true> if the upper bound is inclusive.
* @return the oldest version between lowerBound and upperBound or null if no version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestVersion( ArtifactVersion lowerBound, ArtifactVersion upperBound, boolean includeSnapshots,
boolean includeLower, boolean includeUpper );
/**
* Returns the oldest version within the specified bounds or null if no such version exists.
*
* @param versionRange The version range within which the version must exist where null imples
* [,).
* @param lowerBound the lower bound or null if the lower limit is unbounded.
* @param upperBound the upper bound or null if the upper limit is unbounded.
* @param includeSnapshots true if snapshots are to be included.
* @param includeLower true if the lower bound is inclusive.
* @param includeUpper true> if the upper bound is inclusive.
* @return the oldest version between lowerBound and upperBound or null if no version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestVersion( VersionRange versionRange, ArtifactVersion lowerBound, ArtifactVersion upperBound,
boolean includeSnapshots, boolean includeLower, boolean includeUpper );
/**
* Returns the oldest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param updateScope the update scope to include.
* @return the oldest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestUpdate( ArtifactVersion currentVersion, UpdateScope updateScope );
/**
* Returns the newest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param updateScope the update scope to include.
* @return the newest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getNewestUpdate( ArtifactVersion currentVersion, UpdateScope updateScope );
/**
* Returns the all versions newer than the specified current version, but within the the specified update scope.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param updateScope the update scope to include.
* @return the all versions after currentVersion within the specified update scope.
* @since 1.0-beta-1
*/
ArtifactVersion[] getAllUpdates( ArtifactVersion currentVersion, UpdateScope updateScope );
/**
* Returns the oldest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param updateScope the update scope to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the oldest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestUpdate( ArtifactVersion currentVersion, UpdateScope updateScope,
boolean includeSnapshots );
/**
* Returns the newest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param updateScope the update scope to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the newest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getNewestUpdate( ArtifactVersion currentVersion, UpdateScope updateScope,
boolean includeSnapshots );
/**
* Returns the all versions newer than the specified current version, but within the the specified update scope.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param updateScope the update scope to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the all versions after currentVersion within the specified update scope.
* @since 1.0-beta-1
*/
ArtifactVersion[] getAllUpdates( ArtifactVersion currentVersion, UpdateScope updateScope,
boolean includeSnapshots );
/**
* Returns the oldest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param versionRange the version range to include.
* @return the oldest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestUpdate( ArtifactVersion currentVersion, VersionRange versionRange );
/**
* Returns the newest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param versionRange the version range to include.
* @return the newest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getNewestUpdate( ArtifactVersion currentVersion, VersionRange versionRange );
/**
* Returns the all versions newer than the specified current version, but within the the specified update scope.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param versionRange the version range to include.
* @return the all versions after currentVersion within the specified update scope.
* @since 1.0-beta-1
*/
ArtifactVersion[] getAllUpdates( ArtifactVersion currentVersion, VersionRange versionRange );
/**
* Returns the oldest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param versionRange the version range to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the oldest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestUpdate( ArtifactVersion currentVersion, VersionRange versionRange,
boolean includeSnapshots );
/**
* Returns the newest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param versionRange the version range to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the newest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getNewestUpdate( ArtifactVersion currentVersion, VersionRange versionRange,
boolean includeSnapshots );
/**
* Returns the all versions newer than the specified current version, but within the the specified update scope.
*
* @param currentVersion the lower bound or null if the lower limit is unbounded.
* @param versionRange the version range to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the all versions after currentVersion within the specified update scope.
* @since 1.0-beta-1
*/
ArtifactVersion[] getAllUpdates( ArtifactVersion currentVersion, VersionRange versionRange,
boolean includeSnapshots );
/**
* Returns true if and only if getCurrentVersion() != null.
*
* @return true if and only if getCurrentVersion() != null.
* @since 1.0-beta-1
*/
boolean isCurrentVersionDefined();
/**
* Sets the current version.
*
* @param currentVersion The new current version.
* @since 1.0-beta-1
*/
void setCurrentVersion( ArtifactVersion currentVersion );
/**
* Sets the current version.
*
* @param currentVersion The new current version.
* @since 1.0-beta-1
*/
void setCurrentVersion( String currentVersion );
boolean isIncludeSnapshots();
void setIncludeSnapshots( boolean includeSnapshots );
/**
* Retrieves the current version.
*
* @return The current version (may be null).
* @since 1.0-beta-1
*/
ArtifactVersion getCurrentVersion();
/**
* Returns the oldest version newer than the current version, but within the the specified update scope or
* null if no such version exists.
*
* @param updateScope the update scope to include.
* @return the oldest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestUpdate( UpdateScope updateScope );
/**
* Returns the newest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param updateScope the update scope to include.
* @return the newest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getNewestUpdate( UpdateScope updateScope );
/**
* Returns the all versions newer than the specified current version, but within the the specified update scope.
*
* @param updateScope the update scope to include.
* @return the all versions after currentVersion within the specified update scope.
* @since 1.0-beta-1
*/
ArtifactVersion[] getAllUpdates( UpdateScope updateScope );
/**
* Returns the oldest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param updateScope the update scope to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the oldest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestUpdate( UpdateScope updateScope, boolean includeSnapshots );
/**
* Returns the newest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param updateScope the update scope to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the newest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getNewestUpdate( UpdateScope updateScope, boolean includeSnapshots );
/**
* Returns the all versions newer than the specified current version, but within the the specified update scope.
*
* @param updateScope the update scope to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the all versions after currentVersion within the specified update scope.
* @since 1.0-beta-1
*/
ArtifactVersion[] getAllUpdates( UpdateScope updateScope, boolean includeSnapshots );
/**
* Returns the oldest version newer than the current version, but within the the specified update scope or
* null if no such version exists.
*
* @param versionRange the version range to include.
* @return the oldest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestUpdate( VersionRange versionRange );
/**
* Returns the newest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param versionRange the version range to include.
* @return the newest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getNewestUpdate( VersionRange versionRange );
/**
* Returns the all versions newer than the specified current version, but within the the specified update scope.
*
* @param versionRange the version range to include.
* @return the all versions after currentVersion within the specified update scope.
* @since 1.0-beta-1
*/
ArtifactVersion[] getAllUpdates( VersionRange versionRange );
/**
* Returns the oldest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param versionRange the version range to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the oldest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getOldestUpdate( VersionRange versionRange, boolean includeSnapshots );
/**
* Returns the newest version newer than the specified current version, but within the the specified update scope or
* null if no such version exists.
*
* @param versionRange the version range to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the newest version after currentVersion within the specified update scope or null if no
* version is available.
* @since 1.0-beta-1
*/
ArtifactVersion getNewestUpdate( VersionRange versionRange, boolean includeSnapshots );
/**
* Returns the all versions newer than the specified current version, but within the the specified update scope.
*
* @param versionRange the version range to include.
* @param includeSnapshots true if snapshots are to be included.
* @return the all versions after currentVersion within the specified update scope.
* @since 1.0-beta-1
*/
ArtifactVersion[] getAllUpdates( VersionRange versionRange, boolean includeSnapshots );
}