package com.avg.zaap.crashlibrary.offline.publisher.metadata;

import android.support.annotation.NonNull;

import java.io.File;

/**
 * This interface denotes the common behavior for the crash report metadata helpers.
 * <p/>
 * Created by marek.osvald on 29.7.2016.
 */
public interface ICrashMetadataHelper {

    /**
     * This extension is used for permanent crash report metadata storing filenames.
     */
    String METADATA_EXTENSION = ".metadata";
    /**
     * This character denotes the separator between file name file type extension
     */
    char EXTENSION_SEPARATOR = '.';
    /**
     * This character serves as the separator of files to pack
     */
    char FILE_NAME_SEPARATOR = ':';

    /**
     * This integer serves as the special index of a character that has not been found in a string.
     */
    int NOT_FOUND = -1;

    /**
     * Returns the metadata filename for given crash report file.
     *
     * @param crashFile crash report file to retrieve the metadata filename for
     * @return metadata filename for given crash report file
     */
    String getMetadataFileName(@NonNull File crashFile);

}
