package com.github.kristofa.test.http.file;
/**
* File name builder which is used by {@link HttpRequestResponseFileLogger}.
*
* @author kristof
*/
enum FileNameBuilder {
/**
* File name in which to store http request (except entity).
*/
REQUEST_FILE_NAME("request"),
/**
* File name in which to store http request entity.
*/
REQUEST_ENTITY_FILE_NAME("request_entity"),
/**
* File name in which to store http response.
*/
RESPONSE_FILE_NAME("response"),
/**
* File name in which to store http response entity.
*/
RESPONSE_ENTITY_FILE_NAME("response_entity");
private String fileTypeNamePart;
private FileNameBuilder(final String fileTypeNamePart) {
this.fileTypeNamePart = fileTypeNamePart;
}
/**
* Gets full file name.
*
* @param uniqueFileNamePart When storing request/responses we want a unique part o the file name.
* @param seqNr When storing multiple request/responses we want unique seq nr.
* @return File name.
*/
public String getFileName(final String uniqueFileNamePart, final int seqNr) {
return uniqueFileNamePart + "_" + fileTypeNamePart + "_" + String.format("%05d", seqNr) + ".txt";
}
}