package innovimax.mixthem.interfaces;

import innovimax.mixthem.exceptions.MixException;
import innovimax.mixthem.join.JoinType;

import java.util.List;

/**
* This interface provides for joining two lines
* @author Innovimax
* @version 1.0
*/
public interface IJoinLine {	
	/**
 	* Returns the result of joining two lines depends on type and additional parameters.
	* @param line1 The first line to join
 	* @param line2 The second line to join
	* @param type The type of join required
	* @param params The list of additional parameters (from command line)
 	* @return The result of joining two lines depends on type and additional parameters
 	* @throws MixException - If an mixing error occurs
 	*/
	String join(String line1, String line2, JoinType type, List<String> params) throws MixException;	
	/**
 	* Retrieves the joining type regarding the additional parameters.
 	* @param params The list of additional parameters (from command line)
 	* @return The joining type regarding the additional parameters
 	*/
	JoinType getType(List<String> params);
	/**
 	* Returns the list of column parameters as integer.
 	* @param params The list of additional parameters (from command line)
 	* @return The list of column parameters as integer
 	*/
	List<Integer> getColumns(List<String> params) throws MixException;
}

@@ -1306,10 +1306,513 @@
 eption;%0A
+%09/**%0A %09* Returns the result of joining two lines regarding the type of join.%0A%09* @param line1 The first line to join%0A %09* @param line2 The second line to join%0A%09* @param type The type of join required%0A%09* @param columns The list of column indexes depends on type (maybe empty)%0A %09* @return The result of joining two lines regarding the type of join%0A %09* @throws MixException - If an mixing error occurs%0A %09*/%0A%09String join(String line1, String line2, JoinType type, List%3CInteger%3E columns) throws MixException;%09%0A
 %7D%0A

Update IJoinLine.java