package com.atlassian.bitbucket.mesh.git.ref;

import com.atlassian.bitbucket.mesh.git.GitObjectType;

import javax.annotation.Nonnull;

@FunctionalInterface
public interface AnnotatedTagCallback {

    default void onMissing(@Nonnull String objectId) {
        //By default, missing IDs are ignored
    }

    default void onNonTag(@Nonnull String objectId, @Nonnull GitObjectType type) {
        //By default, non-tags are ignored. Note that lightweight tags will also end up here,
        //because they are applied to commit objects rather than tag objects
    }

    void onTag(@Nonnull AnnotatedTag tag);
}
