public String renderStandard() { return rawExpression == null ? String.format( "%s%s,%s%s", ( lowerInclusive ? "[" : "(" ), ( lower == null ? "" : lower.renderStandard() ), ( upperInclusive ? "]" : ")" ), ( upper == null ? "" : upper.renderStandard() ) ) : rawExpression; }
@Override public boolean isConcrete() { return isRelease() || !isLocalSnapshot(); }
public SingleVersion getBaseVersion() { if ( isRelease() ) { return this; } return new SingleVersion( phrases.subList( 0, phrases.size() - 1 ) ); }
public SnapshotPart getSnapshotPart() { return isSnapshot() ? (SnapshotPart) getLastPart() : null; }
versioningMap.put( LATEST, latest.renderStandard() ); if ( r.isRelease() ) versioningMap.put( RELEASE, release.renderStandard() ); vElem.setTextContent( version.renderStandard() );
@Override public boolean contains( final VersionSpec version ) { if ( version.isSingle() ) { final SingleVersion sv = version.getSingleVersion(); if ( !getBaseVersion().equals( sv.getBaseVersion() ) ) { // if my base version doesn't match the other's base version, there's no way I can contain it. return false; } if ( isLocalSnapshot() ) { // if I'm a local snapshot, then I can contain any other single snapshot. return version.isSnapshot(); } else if ( sv.isLocalSnapshot() ) { // either I'm a release or a timestamped snapshot. // if the other one is a local snapshot, I DON'T contain it. return false; } return true; } return false; }
private static int compareSingleToSingle( final SingleVersion first, final SingleVersion second ) { final int comp = comparePhrasesToPhrases( first.getVersionPhrases(), second.getVersionPhrases() ); if ( comp == 0 ) { if ( first.isRelease() && !second.isRelease() ) { return 1; } else if ( second.isRelease() && !first.isRelease() ) { return -1; } } return comp; }
@Override public boolean isVariableVersion() { return isCompound() || ( isSpecificVersion() && ( (SingleVersion) getVersionSpec() ).isLocalSnapshot() ); }
private boolean containsSingle( final SingleVersion version ) { if ( lower != null ) { if ( lowerInclusive && !lower.isRelease() && !version.isRelease() ) { return true; } final int comp = VersionSpecComparisons.compareTo( lower, version ); if ( comp > 0 || ( comp == 0 && !lowerInclusive ) ) { return false; } } if ( upper != null ) { if ( upperInclusive && !upper.isRelease() && !version.isRelease() ) { return true; } final int comp = VersionSpecComparisons.compareTo( upper, version ); if ( comp < 0 || ( comp == 0 && !upperInclusive ) ) { return false; } } return true; }
public boolean isPinned() { return lowerInclusive && upperInclusive && lower != null && lower.equals( upper ); }
public boolean isLocalSnapshot() { final VersionPart lastPart = getLastPart(); if ( lastPart instanceof SnapshotPart ) { final SnapshotPart part = (SnapshotPart) lastPart; return part.isLocalSnapshot(); } return false; }
public SingleVersion getConcreteVersion() { return isConcrete() ? lower.getConcreteVersion() : null; }
public SingleVersion getSingleVersion() { return isSingle() ? lower.getSingleVersion() : null; }
{if (true) return new SingleVersion( rawSpec, parts );} throw new Error("Missing return statement in function");
@Override public boolean isVariableVersion() { return isCompound() || ( isSpecificVersion() && ( (SingleVersion) getVersionSpec() ).isLocalSnapshot() ); }
@Override public String toString() { final StringBuilder sb = new StringBuilder(); sb.append( "SingleVersion: [" ); for ( final VersionPhrase phrase : phrases ) { sb.append( phrase ) .append( ", " ); } sb.setLength( sb.length() - 2 ); sb.append( "] (" ) .append( renderStandard() ) .append( ")" ); return sb.toString(); }
@Override public SimpleProjectVersionRef selectVersion( final SingleVersion version, final boolean force ) { final VersionSpec versionSpec = getVersionSpec(); if ( versionSpec.equals( version ) ) { return this; } if ( !force && !versionSpec.contains( version ) ) { throw new IllegalArgumentException( "Specified version: " + version.renderStandard() + " is not contained in spec: " + versionSpec.renderStandard() ); } return newRef( getGroupId(), getArtifactId(), version ); }
@Override public NeoProjectVersionRef selectVersion( final SingleVersion version, final boolean force ) { final VersionSpec versionSpec = getVersionSpec(); if ( versionSpec.equals( version ) ) { return this; } if ( !force && !versionSpec.contains( version ) ) { throw new IllegalArgumentException( "Specified version: " + version.renderStandard() + " is not contained in spec: " + versionSpec.renderStandard() ); } return newRef( getGroupId(), getArtifactId(), version ); }