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

org.dmfs.semver.PreRelease Maven / Gradle / Ivy

The newest version!
package org.dmfs.semver;

import org.dmfs.jems2.Optional;
import org.dmfs.jems2.optional.Present;

import static org.dmfs.jems2.optional.Absent.absent;


/**
 * A pre-release version of a given version. This appends or replaces (if already present) the pre-release (and build) part of the given version number without
 * altering major, minor or patch version.
 */
public final class PreRelease extends VersionComposition
{

    public PreRelease(Version delegate, String preRelease)
    {
        this(delegate, new Present<>(preRelease));
    }


    PreRelease(Version delegate, Optional preRelease)
    {
        super(new Version()
        {

            @Override
            public int major()
            {
                return delegate.major();
            }


            @Override
            public int minor()
            {
                return delegate.minor();
            }


            @Override
            public int patch()
            {
                return delegate.patch();
            }


            @Override
            public Optional preRelease()
            {
                return preRelease;
            }


            @Override
            public Optional build()
            {
                return absent();
            }
        });
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy