package com.atlassian.stash.internal.cluster;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.io.Serializable;

/**
 * A requirement of a node joining a stash cluster
 *
 * @since 3.3
 */
public interface ClusterJoinRequirement {

    /**
     * @return a unique name for the requirement
     */
    @Nonnull
    String getName();

    /**
     * @return the value for the current node which will be compared to a remote node
     */
    @Nullable
    String getValue();
}
