// Path: src/main/java/hextostring/format/DecorableList.java
// public interface DecorableList {
// 
// 	public void setDecorationBefore(String decoration);
// 
// 	public void setDecorationBetween(String decoration);
// 
// 	public void setDecorationAfter(String decoration);
// 
// 	public void setLinesDecorations(String before, String after);
// 
// }


import hextostring.format.DecorableList;
package hextostring.debug;


/**
 * Wraps a hexadecimal input and the results of its conversion into an object
 * containing all the necessary information to print debugging messages.
 *
 * @author Maxime PIA
 */
public interface DebuggableStrings {

	/**
	 * Formats the lines depending on the debugging flags.
	 *
	 * @param debuggingFlags
	 * 			The debugging flags used to format these lines.
	 * @param converterStrictness
	 * 			The validity value below which a converted string is eliminated.
	 * @return A string representing these lines, with or without debug traces.
	 */
	String toString(long debuggingFlags, int converterStrictness);

	/**
	 * Provides a list of lines that can be formatted.
	 *
	 * @return A list of lines that can be formatted.
	 */
// Path: src/main/java/hextostring/format/DecorableList.java
// public interface DecorableList {
// 
// 	public void setDecorationBefore(String decoration);
// 
// 	public void setDecorationBetween(String decoration);
// 
// 	public void setDecorationAfter(String decoration);
// 
// 	public void setLinesDecorations(String before, String after);
// 
// }


// Path: src/main/java/hextostring/debug/DebuggableStrings.java
import hextostring.format.DecorableList;

package hextostring.debug;


/**
 * Wraps a hexadecimal input and the results of its conversion into an object
 * containing all the necessary information to print debugging messages.
 *
 * @author Maxime PIA
 */
public interface DebuggableStrings {

	/**
	 * Formats the lines depending on the debugging flags.
	 *
	 * @param debuggingFlags
	 * 			The debugging flags used to format these lines.
	 * @param converterStrictness
	 * 			The validity value below which a converted string is eliminated.
	 * @return A string representing these lines, with or without debug traces.
	 */
	String toString(long debuggingFlags, int converterStrictness);

	/**
	 * Provides a list of lines that can be formatted.
	 *
	 * @return A list of lines that can be formatted.
	 */
	DecorableList getDecorableList();