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

io.airlift.airship.configbundler.Bundle Maven / Gradle / Ivy

There is a newer version: 0.13
Show newest version
package io.airlift.airship.configbundler;

import com.google.common.base.Preconditions;

class Bundle
{
    private final String name;
    private final int version;
    private final boolean snapshot;

    public Bundle(String name, int version, boolean snapshot)
    {
        Preconditions.checkNotNull(name, "name is null");

        this.name = name;
        this.version = version;
        this.snapshot = snapshot;
    }

    public String getName()
    {
        return name;
    }

    public int getVersion()
    {
        return version;
    }

    public String getVersionString()
    {
        if (snapshot) {
            return version + "-SNAPSHOT";
        }

        return Integer.toString(version);
    }

    public boolean isSnapshot()
    {
        return snapshot;
    }


    @Override
    public boolean equals(Object o)
    {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        Bundle bundle = (Bundle) o;

        if (snapshot != bundle.snapshot) {
            return false;
        }
        if (version != bundle.version) {
            return false;
        }
        if (!name.equals(bundle.name)) {
            return false;
        }

        return true;
    }

    @Override
    public int hashCode()
    {
        int result = name.hashCode();
        result = 31 * result + version;
        result = 31 * result + (snapshot ? 1 : 0);
        return result;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy