package com.atlassian.bitbucket.mesh.git.builder.notes;

import com.atlassian.bitbucket.mesh.git.builder.GitProcess;

import javax.annotation.Nonnull;
import java.nio.file.Path;

public interface GitNotesAddBuilder extends GitNotesBuilderSupport<GitNotesAddBuilder> {

    @Nonnull
    GitProcess<Void> build();

    /**
     * @param value a file to read the note's message from
     * @return {@code this}
     */
    @Nonnull
    GitNotesAddBuilder file(Path value);

    @Nonnull
    GitNotesAddBuilder force(boolean value);

    @Nonnull
    GitNotesAddBuilder message(String value);

    @Nonnull
    GitNotesAddBuilder messages(Iterable<String> values);

    @Nonnull
    GitNotesAddBuilder messages(String value, String... values);
}
